首页 > 代码库 > Scala match 变量
Scala match 变量
昨天写 Scala 的时候,使用 match(相当于 switch)时,运行结果很奇怪。
var i: Int = 0
while (i < items.length) {
i % width match {
case offset => println("offset: " + items(i))
case logSize => println("logSize: " + items(i))
case lag => println("lag: " + items(i))
case _ =>
}
i = i + 1
}
后看到:http://stackoverflow.com/questions/7078022/why-does-pattern-matching-in-scala-not-work-with-variables
在 Scala 中,match 的必须是 stable identifier,不明所以,以后研究。
改成如下即可:
var i: Int = 0
while (i < items.length) {
i % width match {
case `offset` => println("offset: " + items(i))
case `logSize` => println("logSize: " + items(i))
case `lag` => println("lag: " + items(i))
case _ =>
}
i = i + 1
}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。