Scala深入浅出实战经典:23,Scala高阶函数实战详解
来源:互联网 发布:xp关闭445端口 编辑:程序博客网 时间:2024/05/17 09:03
package com.dt.scalaInAction.demo_023/** * Scala高阶函数实战详解 */object HighOrderFunctions { def main(args: Array[String]): Unit = { //1 打印阶梯状的*号// 1.to(9).map("*" * _).foreach(println) //2 过滤1~9中的偶数// 1.to(9).filter(_ % 2 == 0).foreach(println _) //row result: 2 4 6 8 //3 9*8*7*6*...*1// println((1 to 9).reduceLeft(_ * _)) //4 按单词的长度升序排列 /* "Spark is the most exciting thing happening in big data today" .split(" ") .sortWith(_.length < _.length) .foreach(println) */ //5 /* val fun = ceil _ val num = 3.14 fun(num) Array(3.14, 1.42, 2.0).map(fun) */ //6// val triple = (x: Double) => 3 * x// Array(3.14, 1.42, 2.0).map((x: Double) => 3 * x).foreach(println) //row result: 9.42 4.26 6.0// Array(3.14, 1.42, 2.0).map{ (x: Double) => 3 * x }.foreach(println) //row result: 9.42 4.26 6.0 //7 高阶函数标准的定义方式 f: (Double) => Double 函数作为的参数类型定义 (参数值类型...) => 返回值类型 def high_order_functions(f: (Double) => Double) = f(0.25)// println(high_order_functions(ceil _))// println(high_order_functions(sqrt _)) //8 (x: Double)才是正真执行所要传入的参数 def mulBy(factor: Double) = (x: Double) => factor * x val quintuple = mulBy(5) println(quintuple(20)) //执行时 x=20 row result: 100.0 //9 高阶函数的简化写法推导 println(high_order_functions((x: Double) => 3 * x)) //row result: 0.75 high_order_functions((x) => 3 * x ) high_order_functions(x => 3 * x ) high_order_functions(3 * _) val fun2 = 3 * (_: Double) val funn3:(Double) => Double = 3 * _ //_为返回类型(Double) => Double中的参数类型 }}
以上内容是从王家林老师DT大数据课程第23讲的学习笔记和个人整理。
DT大数据微信公众账号:DT_Spark
王家林老师QQ:1740415547
王家林老师微信号:18610086859
第23讲视频网站地址:http://pan.baidu.com/s/1ntFvfap
0 0
- Scala深入浅出实战经典:23,Scala高阶函数实战详解
- Scala 深入浅出实战经典
- Scala深入浅出实战经典:25,Scala中Curring实战详解
- Scala深入浅出实战经典:21,Scala中的偏函数实战详解
- 23.Scala高阶函数实战详解
- Scala深入浅出实战经典-1
- Scala深入浅出实战经典-1
- Scala深入浅出实战经典:33,List的一阶函数操作代码实战详解
- Scala 深入浅出实战经典 第5讲:Scala数组操作实战详解
- Scala 深入浅出实战经典 第9讲:Scala的内部类实战详解
- Scala 深入浅出实战经典 第10讲:Scala单例对象、伴生对象实战详解
- Scala 深入浅出实战经典 第11讲:Scala中的apply实战详解
- Scala深入浅出实战经典:22,Scala中的闭包实战详解
- Scala深入浅出实战经典:24,Scala中SAM转换实战详解
- Scala深入浅出实战经典:26,Scala中模式匹配入门实战详解
- Scala深入浅出实战经典:28,Scala提取器Extractor实战详解
- Scala 深入浅出实战经典 第2讲 Scala函数定义、流程控制、异常处理入门实战
- Scala深入浅出实战经典:20,Scala中的本地函数与作为语言一等公民的函数详解
- django 1.8 官方文档翻译:9-1-4 格式本地化
- IO多路复用之poll总结
- 剑指offer 树
- IO多路复用之epoll总结
- VC文件扩展名解读大全
- Scala深入浅出实战经典:23,Scala高阶函数实战详解
- GitHub 上都有哪些值得关注学习的 iOS 开源项目?
- select、poll、epoll之间的区别总结[整理]
- 优秀的开源库
- 制作 二维码/条形码
- Scala深入浅出实战经典:24,Scala中SAM转换实战详解
- Junit4详解一:Junit总体介绍
- MySQL学习7_You must SET PASSWORD before executing this statement解决方法
- 数据库操作序列“事务”