澄清一下,当我说多重赋值,并行赋值,解构绑定时,我指的是下面的模式匹配gem
scala> val (x,y) = Tuple2("one",1)
x: java.lang.String = one
y: Int = 1
哪个分配
"one"
到
x
1
到
y
.
我只是想
val (x,y) = "a b".split()
我原以为scala会尝试用模式匹配数组,如果数组的长度与模式的长度不匹配,就会抛出运行时异常。
我所有的努力
Array
到
Tuple2
都是徒劳的。
scala> Tuple2(Array(1,2):_*)
<console>:7: error: wrong number of arguments for method apply: (T1,T2)(T1, T2)
in object Tuple2
Tuple2(Array(1,2):_*)
^
scala> Tuple2(Array(1,2).toList:_*)
<console>:7: error: wrong number of arguments for method apply: (T1,T2)(T1, T2)
in object Tuple2
Tuple2(Array(1,2).toList:_*)