2

次のような適用および更新メソッドをカリー化しようとしています。

def apply(i: Int)(j: Int) = matrix(i)(j)
def update(i: Int, j: Int, value: Int) = 
  new Matrix(n, m, (x, y) => if ((i,j) == (x,y)) value else matrix(x)(y))

Apply メソッドは正しく動作しますが、update メソッドは不平を言います:

scala> matrix(2)(1) = 1
<console>:16: error: missing arguments for method apply in class Matrix;
follow this method with `_' if you want to treat it as a partially applied function
              matrix(2)(1) = 1

直接呼び出すとupdate(2)(1)(1)動作するので、正しく動作しない update メソッドへの変換です。私の間違いはどこですか?

4

2 に答える 2