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 @   秋渡晚枫  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示