Pet*_*ott 6 scala destructuring
我有一个Scala列表.我可以将列表解构为一些变量:
var a :: b :: tail = myList
a should be ("A1")
b should be ("B1")
tail should be ('empty)
Run Code Online (Sandbox Code Playgroud)
但是,我似乎无法将相同的变量重用于另一个解构:
a :: b :: tail = anotherList
a should be ("A2")
b should be ("B2")
tail should be ('empty)
Run Code Online (Sandbox Code Playgroud)
编译器告诉我,它期望一个分号,但发现了一个等号.为什么是这样?在解构时是不可能使用已经声明的变量?我做了些蠢事吗?
图案提取需要case,val或var前缀或内必须发生for表达.因此,无法重新分配变量.
Scala语言在§§4.1(值),4.2(变量),6.19(for-comprehensions)和8.4(模式匹配表达式)中列出了这些情况
| 归档时间: |
|
| 查看次数: |
2267 次 |
| 最近记录: |