4

私はまだ時々scalaの時折の構文魔法に戸惑います。

私は、その書き込みを考えました

array(5)

のショートカットです

array.apply(5)。(アレイのドキュメントに記載されているとおりです。)

しかし、私はかなり幸せにできます

array(5) = 3

しかし、私はできません

array.apply(5) = 3

何が起こっている?

4

1 に答える 1

12

の左側にはさまざまなルールがあります=a.x = bに変換されa.x_=(b)ます(x()メソッドもある場合) a(i1,... in) = bはに変換されますa.update(i1...,in, b)

そうarray(5) = 3ですarray.update(5,3)

もちろん、配列の場合は、間にメソッドを呼び出さずに、配列書き込みに直接コンパイルされます。

于 2012-07-22T02:10:00.697 に答える