语法
Expr1 ::= ‘for’ (‘(’ Enumerators ‘)’ | ‘{’ Enumerators ‘}’)
{nl} [‘yield’] Expr
Enumerators ::= Generator {semi Generator}
Generator ::= Pattern1 ‘<-’ Expr {[semi] Guard | semi Pattern1 ‘=’ Expr}
Guard ::= ‘if’ PostfixExpr
例子
ForTest.scala
object ForTest extends App {
var begin: Int = 1;
var end : Int = 10;
for (i <- begin until end)
println(i);
}
编译
>scalac -d classes ForTest.scala
执行
>scala ForTest
1
2
3
4
5
6
7
8
9
Expr1 ::= ‘for’ (‘(’ Enumerators ‘)’ | ‘{’ Enumerators ‘}’)
{nl} [‘yield’] Expr
Enumerators ::= Generator {semi Generator}
Generator ::= Pattern1 ‘<-’ Expr {[semi] Guard | semi Pattern1 ‘=’ Expr}
Guard ::= ‘if’ PostfixExpr
例子
ForTest.scala
object ForTest extends App {
var begin: Int = 1;
var end : Int = 10;
for (i <- begin until end)
println(i);
}
编译
>scalac -d classes ForTest.scala
执行
>scala ForTest
1
2
3
4
5
6
7
8
9