yield
scala中的for循环有个独有的特性,他是有返回值的。这个与java不同
针对每一次 for 循环的迭代, yield 会产生一个值,被循环记录下来 (内部实现上,像是一个缓冲区).
当循环结束后, 会返回所有 yield 的值组成的集合.返回集合的类型与被遍历的集合类型是一致的.
package spark2021 import breeze.linalg.* object yeild_Test { def main(args:Array[String]):Unit={ val array =(1 to 10) //for循环的返回值必须要关键字yield,如果没有,即返回为空 val array4 = for(i<-array) i*2 println(array4) //() val array2 = for (i<- array) yield i*2 println(array2.mkString(",")) //for循环中的圆括号内还可以加更多的条件 val array3 = for(i<-array if i%2 ==0) yield i*2 println(array3.mkString(",")) } }
posted on 2021-01-04 15:33 happygril3 阅读(126) 评论(0) 收藏 举报
浙公网安备 33010602011771号