Scala语言还真奇妙,语法非常精简。for循环有太多高级的用法了,本篇记录的是在for循环体的前面使用yield关键字,就会有奇妙的玩法:如果在for循环体前面加上yield关键字,则说明该for循环将输出1个集合,而每次循环的输出做为该集合中的一个元素。
下面是一个使用了yield的for循环的实例:
val seq = for(i<- 1 to 10 ) yield i%3
println(seq)
/** 输出结果:
* Vector(1, 2, 0, 1, 2, 0, 1, 2, 0, 1)
*/
真是超精简,不用自己预先定义一下集合,然后自己往集合中追加元素,只需要使用1个yield关键字,Scala就都帮我们做完了。