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循环被“转译”时遵循以下规则:

  1. 简单for,转译为集合上的foreach方法调用
  2. for-guard(for if),利用withFilter,然后调用foreach
  3. for-yield,利用.map
  4. for-guard-yield,先.withFilter然后.map

expression, statement, block都有值,block由最后一句statement/expression决定。赋值表达式返回Unit。单独的()表示Unit。非yeild的for返回Unit, while返回Unit。

posted @ 2024-01-22 20:17  秋渡晚枫  阅读(7)  评论(0)    收藏  举报