試圖解開元組到瓦爾斯時,我注意到在斯卡拉以下行爲:Scala的元組解包的細微差別
scala> val (A, B, C) = (1, 2, 3)
<console>:5: error: not found: value A
val (A, B, C) = (1, 2, 3)
^
<console>:5: error: not found: value B
val (A, B, C) = (1, 2, 3)
^
<console>:5: error: not found: value C
val (A, B, C) = (1, 2, 3)
^
scala> val (u, v, w) = (1, 2, 3)
u: Int = 1
v: Int = 2
w: Int = 3
是不是因爲Scala的模式匹配機制自動假定與首都開始的所有標識符範圍內的圖案是常數,還是由於其他原因?
謝謝!
這就是interessting。但我在這裏沒有得到你的意思。你能再解釋一下嗎? – ziggystar 2010-04-28 09:27:01
我修改了我的答案 – 2010-04-28 10:42:12
有趣的錯誤...也許你應該指出它失敗,因爲這相當於'Tuple2 [Int,Int]',它被類型擦除爲'Tuple2 [Any,Any]'? – 2010-04-28 15:51:40