次のコードをscalaで書くとき
var m = Map((0,1) -> "a")
m += ((0,2), "b") // compilation error
エラーが発生します
型の不一致; 見つかった:Int(0) 必須:(Int、Int)
ただし、タプルの構文をからに変更すると機能(X,Y)
し(X -> Y)
ます
var m = Map((0,1) -> 'a)
m += ((0,2) -> 'b) // compiles file
それでも
((0,1).getClass == (0 -> 1).getClass) // is true
(0,1).isInstanceOf[Tuple2[_,_]] && (0 -> 1).isInstanceOf[Tuple2[_,_]] // both true
何故ですか?Scalaは私のネストされたタプルは何だと思いますか?