首页  

scala for yield     所属分类 scala 浏览量 726
每一次 迭代, yield 会产生一个值
循环结束后, 返回所有 yield 的值组成的集合
返回类型与被遍历集合类型一致

val arr = Array(1,2,3)
val arr2 = Array("a","b","3")

for(item <- arr ) yield item*2
Array[Int] = Array(2, 4, 6)

for{item <- arr} yield item*2
也可以用 花括号

for(item <- arr  if item>1 ) yield item*2
Array[Int] = Array(4, 6)

for(item <- arr  if item>1  if item>2 ) yield item*2
Array[Int] = Array(6)


多重循环

for {
a<-arr 
b<-arr2
} yield  a+"_"+b

注意用花括号
Array[String] = Array(1_a, 1_b, 1_c, 2_a, 2_b, 2_c, 3_a, 3_b, 3_c)


for {a<-arr b<-arr2} yield  a+"_"+b
这样会报错 ,需要 换行

上一篇     下一篇
MAC 安装 wget

minio搭建

大数据存储架构简介

Scala大小括号的区别

scala 表达式

Scala reduceLeft和reduceRight