首页 > 其他 > 详细

Scala中For表达式的强大表现力

时间:2015-08-13 07:41:52      阅读:172      评论:0      收藏:0      [点我收藏+]

学习了ScalaFor表达式的强大表现力scala 应用for循环比应用高阶函数表现力强很多,高阶函数的行为指定了对数据处理的细节。实际上 for是用map的方式,更加简洁。

例子如下

case  class  Person(name:String,isMale:Boolean,children:Person*)/ildren可变参数 
object  For_Expressive{
def main(args:Array[String]){
val lauren=Person("Lauren",false)
val  rocky=Person("Rocky",true) 
val  vivian=Person("Vivian",false,lauren,rocky)//妈妈
val persons=List(lauren,rocky,vivian)

val  result=persons  filter(person =>  !person.isMale)  flatMap(person)=>
(person.children  map(child=>(person.name,child.name))))//每个child返回妈妈的名字和孩子的名字
//flatMap是把几个对象合成一个
//List((Vivian,Lauren),(Vivian,Rocky))
println(result)
val forResult=for(person<-persons;if!person.isMale;child<-person.children)
yield(person.name,child.name)
println(forResult)

 

王家林亲授《DT大数据梦工厂》大数据实战视频“Scala深入浅出实战经典”视频、音频和PPT下载!第85讲:Scala中For表达式的强大表现力实战
百度云盘:http://pan.baidu.com/s/1hqeuFp6
360云盘:http://yunpan.cn/cdRhVZZYrIYcp 访问密码 a5b9
腾讯微云:http://url.cn/Zoao1y

技术分享

Scala中For表达式的强大表现力

原文:http://www.cnblogs.com/tom-lee/p/4726049.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!