Scala 循环守卫

Posted 趣说大数据

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scala 循环守卫相关的知识,希望对你有一定的参考价值。

  • 取1到10之间的奇数

for (i<-(1 to 10).reverse if i%2!=0){      println(i)    }   // 1 to 10 返回一个110的Range序列   //(1 to 10).reverse 序列倒序   //i<-(1 to 10).reverse 步长为1从序列中以此取出一个数  // i%2!=0 当i的值为奇数时执行循环体(循环守卫)
  • 取1到10的序列生成一个奇数序列

val array=for (i<-(1 to 10).reverse if i%2!=0) yield i*2println(array)//Vector(18, 14, 10, 6, 2)
to:这里是RichInt的方法,返回一个包含开始和结尾的Range序列。
until:这里是RichInt的方法,返回一个包含开始不包含结尾的Range序列。
yield:根据for循环中的元素生成一个集合。

小练习:

    打印一个9*9的乘法表。

 for(i<- 1 to 9;j<-1 to i ){ print(s"$j * $i =${j * i} \t") if(i==j)println() }
1 * 1 =1 1 * 2 =2 2 * 2 =4 1 * 3 =3 2 * 3 =6 3 * 3 =9 1 * 4 =4 2 * 4 =8 3 * 4 =12 4 * 4 =16 1 * 5 =5 2 * 5 =10 3 * 5 =15 4 * 5 =20 5 * 5 =25 1 * 6 =6 2 * 6 =12 3 * 6 =18 4 * 6 =24 5 * 6 =30 6 * 6 =36 1 * 7 =7 2 * 7 =14 3 * 7 =21 4 * 7 =28 5 * 7 =35 6 * 7 =42 7 * 7 =49 1 * 8 =8 2 * 8 =16 3 * 8 =24 4 * 8 =32 5 * 8 =40 6 * 8 =48 7 * 8 =56 8 * 8 =64 1 * 9 =9 2 * 9 =18 3 * 9 =27 4 * 9 =36 5 * 9 =45 6 * 9 =54 7 * 9 =63 8 * 9 =72 9 * 9 =81


以上是关于Scala 循环守卫的主要内容,如果未能解决你的问题,请参考以下文章

Scala守卫语句的集中用法

scala-for高级用法

linux打开终端如何启动scala,如何在终端下运行Scala代码片段?

Swift 2:在 for 循环中守卫?

常用python日期日志获取内容循环的代码片段

Scala基础学习之for循环和while循环