作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Scala 列表。我可以将列表解构为一些变量:
var a :: b :: tail = myList
a should be ("A1")
b should be ("B1")
tail should be ('empty)
但是,我似乎无法在另一个解构中重用相同的变量:
a :: b :: tail = anotherList
a should be ("A2")
b should be ("B2")
tail should be ('empty)
编译器告诉我它需要一个分号,但发现了一个等号。为什么是这样?解构时是否不可能使用已经声明的变量?我是不是做了什么蠢事?
最佳答案
模式提取需要 case
、val
或 var
前缀,或者必须出现在 for
表达式中。因此,重新分配变量是不可能的。
Scala 语言在 §§4.1(值)、4.2(变量)、6.19(for 推导式)和 8.4(模式匹配表达式)中列出了这些情况
关于scala - 我可以将 Scala 列表解构(模式提取)为重用的变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23083312/
我是一名优秀的程序员,十分优秀!