这是此处精彩的 SO 答案的衍生产品: 如何在 Scala 中跳出循环?
为什么 Scala 2.8+ 不允许一个值中断,这将成为该breakable
部分的值?这通常很实用。
IE
var r= rnd.nextInt(sum)
breakable {
for( (n,st) <- arr ) {
if (r<n) break(st)
} else {
r -= n
}
}
而不是(var
与现有库一起使用):
var r= rnd.nextInt(sum)
var dest: Station = null
breakable {
for( (n,st) <- arr ) {
if (r<n) { dest=st; break }
} else {
r -= n
}
}
dest
我可以自己提供这样的功能,但只是想知道。
中断文档在这里:http ://www.scala-lang.org/api/current/index.html#scala.util.control.Breaks