首页 > 其他 > 详细

Scala match 变量

时间:2014-07-31 12:11:36      阅读:244      评论:0      收藏:0      [点我收藏+]

昨天写 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
}

Scala match 变量,布布扣,bubuko.com

Scala match 变量

原文:http://www.cnblogs.com/keepthinking/p/3880043.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!