Scala文法未整理
Scalaには組み込みの構文というものがほとんどなく、Javaのそれにあたるものがほとんど「メソッド呼び出し」で実現されている。 「構文」の見かけをもったものが、実際はメソッド呼び出しに変換されている。
配列へのアクセスが実はメソッド呼び出し
var array = Array(1, 2, 3); println(array(0));
は、実際には以下のめようなメソッド呼び出し
println(array.apply(0));
配列への代入も実はメソッド呼び出し
array(0) = 1234; // は以下のメソッド呼び出し array.update(0, 1234);
演算子も実はメソッド呼び出し
var a = 1 + 3; // は以下のメソッド呼び出し var a = (1).+(3) // ※以下にしてしまうと、「1.」の「+」メソッドを呼び出すことになってしまう。 var a = 1.+(3)
二項タプルの作成もメソッド呼び出し
var a = 1 -> "abc"; var b = (1).->("abc"); var c = (1, "abc"); println(a == b); println(a == c);