We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
行列を表現するのに case class を使っている人が多いですが、行列の成分を受けとるのに選択肢が1つだけのパターンマッチを使っている人が多いです。そのような場合には構造化代入(destructing binding)というテクニックが使えます。例えば
case class Matrix(a11: BigInt, a12: BigInt, a21: BigInt, a22: BigInt) def mult(a: Matrix, b: Matrix): Matrix = { a match = { case Matrix(x, y, z, w) => /* なにか計算 */ } }
というプログラムは
def mult(a: Matrix, b: Matrix): Matrix = { val Matrix(x, y, z, w) = a /* なにか計算 */ }
と書くことができます。また case class のメンバ変数には c.a22 のようにアクセスすることもできます。ここで c は Matrix 型とします。
c.a22
c
Matrix
The text was updated successfully, but these errors were encountered:
No branches or pull requests
行列を表現するのに case class を使っている人が多いですが、行列の成分を受けとるのに選択肢が1つだけのパターンマッチを使っている人が多いです。そのような場合には構造化代入(destructing binding)というテクニックが使えます。例えば
というプログラムは
と書くことができます。また case class のメンバ変数には
c.a22
のようにアクセスすることもできます。ここでc
はMatrix
型とします。The text was updated successfully, but these errors were encountered: