Scala深入浅出进阶经典 第85讲:Scala中For表达式的强大表现力实战

来源:互联网 发布:maya软件配置要求 编辑:程序博客网 时间:2024/05/22 15:16
package com.dt.scalaInAction.demo_085case class Person(name: String, isMale: Boolean, children: Person*)/** * Scala中For表达式的强大表现力实战 */object For_Expressive {    def main(args: Array[String]): Unit = {       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)  //def filter(p: Person => Boolean): List[Person]                           .flatMap(person =>(person.children map (child=>(person.name, child.name) ) ) )       println(result) //List((Vivian,Lauren), (Vivian,Rocky))       //for循环操作列表       val forResult = for (person <- persons; if !person.isMale; child <- person.children)                       yield(person.name, child.name)       println(forResult) //List((Vivian,Lauren), (Vivian,Rocky))    }}


以上内容是从王家林老师DT大数据课程第85讲的学习笔记和个人整理。
DT大数据微信公众账号:DT_Spark
王家林老师QQ:1740415547
王家林老师微信号:18610086859
第85讲视频网站地址:http://pan.baidu.com/s/1hqeuFp6

0 0