Scala学习第九弹 高级for循环和for推导式

Scala中的for循环比java和c++中的功能强大的多,这次介绍一下for循环的高级特性
你可以用 变量<-表达式的形式提供多个生成器,用分号隔开。例如:
for(i <- 1 to 3;j <-2 to 5) print(sum = i*j+” “)
//打印1 2 3 2 4 6 3 6 9
每个生成器都可以带一个守卫,以if开头的Boolean表达式,
for(i <- 1 to 3;j <-2 to 5 if i!= j) print(sum = i*j+” “)
//打印2 3 2 6 3 6
注意:if前没有分号
你可以使用任意多的定义引入循环中的使用的变量:
for(i<-1 to 5;a=i+2;j<-a+2 to 10) print(sum =i*j)
//打印5 6 7 8 9 10 12 14 16 18 20 21 24 27 30 32 36 40 45 50
如果for循环的循环体以yield开始,则这个循环会构造一个集合,每次迭代生成集合中的一个值
for(i<- 1 to 5) yield i%3
//生成 Vector(1,2,0,1,2,0,1,2,0,1)
这类循环叫做for推导式

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值