1.22
程序控制 control structure
if() {} else {}
for(x <- 0 to 10)
for(x <- 0 to 10; if x%2 == 0)
for(i <- 1 to 3; z=4-i; j <- z to 3) //有变量定义的for
for(x<-0 to 10) yield x*2
for(x<-0 to 10; y<- 0 to 5)
for( (k,v) <- map ) // for遍历Map
集合上的for循环被“转译”时遵循以下规则:
- 简单for,转译为集合上的foreach方法调用
- for-guard(for if),利用withFilter,然后调用foreach
- for-yield,利用.map
- for-guard-yield,先.withFilter然后.map
expression, statement, block都有值,block由最后一句statement/expression决定。赋值表达式返回Unit。单独的()
表示Unit。非yeild的for返回Unit, while返回Unit。