我正在尝试使用Scala中已声明的变量进行循环访问,但收到错误消息“无效的块语句”
我删除了变量声明行及其正常工作。
object FirstObject
{
def main(args:Array[String])
{
var i:Int,j:Int; // variable declaration
for(i <- 1 to 10; j <- 1 to 5)
{
println(s"($i, $j)")
}
}
}
预期结果看起来像这样
(1,1) (1、2) (1,3) (1,4) (1,5) (2,1) (2,2) (2、3) (2、4) (2、5) (3,1).......
答案 0 :(得分:4)
您已经在某种程度上回答了您的问题,无需在外部初始化变量,这就足够了:
def main(args:Array[String]): Unit = {
for(i <- 1 to 10; j <- 1 to 5) {
println(s"($i, $j)")
}
}
这是一种语法糖(不完全准确):
Range(1, 11).foreach { i => // 1 to 10 produces Range(1, 11)
Range(1, 6).foreach { j => // 1 to 5 produces Range(1, 6)
println(s"($i, $j)")
}
}
因此,i
和j
简而言之就是来自相关foreach
的变量。
这里是documentation。