scala高阶函数 2021-12-13 04:14 213阅读 0赞 1.作为值的函数 import scala.math._ object Test extends App { //scala中函数是头等公民,可以像其他类型一样被传递 val num = 3.14 val fun: Double => Double = ceil _ //将ceil方法转成函数 //调用函数 println(fun(4)) //传递给其他函数 val a = Array(3.14,1.42,2.5).map(fun) } 2.匿名函数 object Test extends App { //匿名函数 val fun1 = (x: Double) => x * 3 def fun2(x: Double) = { x * 3 } } 3.带函数参数的函数 import scala.math._ object Test extends App { def valueAtOneQuarter(num: Double, f: Double => Double) = { f(num) } val result = valueAtOneQuarter(25, ceil _) println(result) val a: (Double, Double => Double) => Double = valueAtOneQuarter _ //函数类型 (Double, Double => Double) => Double //函数产出函数 def mulBy(factor:Double) = { (x:Double)=>x*3 } val b: Double => Double => Double = mulBy _ } 4.参数类型推断 object Test extends App { def valueAtOneQuarter(f: Double => Double) = { f(0.25) } valueAtOneQuarter((x: Double) => 3 * x) //scala会自动推断类型 valueAtOneQuarter((x) => 3 * x) //只有一个参数 括号可省略 valueAtOneQuarter(x => 3 * x) //参数在=>右侧值出现一次 可用下划线替换 valueAtOneQuarter(3 * _) } 5.闭包 object Test extends App { def mulBy(factor: Double) = (x: Double) => factor * x val triple = mulBy(3) val result1 = triple(2) println(result1) } 6.柯里化 object Test extends App { // 柯里化:将原来接收两个参数的函数变成接收一个参数的函数的过程 //新的函数返回一个以原有第二个参数作为参数的函数 def mul(x: Int, y: Int) = x + y def mulOneAtATime(x: Int) = (y: Int) => x + y println(mul(1, 2)) println(mulOneAtATime(1)(2)) def mulOneAtATimeNew(x: Int)(y: Int) = x + y } 转载于:https://www.cnblogs.com/yin-fei/p/10840380.html
相关 6.Scala-高阶函数 第6章 高阶函数 6.1 作为参数的函数 函数作为一个变量传入到另一个函数中,那么该作为参数的函数的类型是:function1,即: (参数类型)=> 返回值 末蓝、/ 2021年12月01日 18:28/ 0 赞/ 205 阅读
相关 scala高阶函数 1.作为值的函数 import scala.math._ object Test extends App { //scala中函数是头等 r囧r小猫/ 2021年12月13日 04:14/ 0 赞/ 214 阅读
相关 Scala常见的高阶函数 常见的高阶函数 1. Map def mapOps: Unit = { val range = 1 to 5 // 曾经终败给现在/ 2021年12月19日 02:13/ 0 赞/ 214 阅读
相关 Scala基础之高阶函数 定义:高阶函数(带有函数参数的函数):把一个函数作为另一个函数的参数值 高阶函数示例 ()map:相当于一个循环,对某个集合中的每个元素进行操作(就是接受一 爱被打了一巴掌/ 2022年03月07日 01:14/ 0 赞/ 153 阅读
相关 Scala系列6、scala的高阶函数 1.=> 表示对左边的参数进行右边的加工 2.关于对scala函数中的参数可以传函数的理解(带函数参数的函数): eg: def value(f: (Doubl ﹏ヽ暗。殇╰゛Y/ 2022年05月28日 11:48/ 0 赞/ 169 阅读
相关 Scala 高阶函数 Scala 高阶函数 Scala混合了面向对象和函数式的特性。在函数式编程语言中,函数是“头等公民”,可以像任何其他数据类型一样被传递和操作。每当你想要给算法传入明细动作 痛定思痛。/ 2022年06月08日 00:20/ 0 赞/ 153 阅读
相关 Scala高阶函数操作示例详解 Scala 运算符和集合转换操作示例集锦 一、常用操作符(操作符其实也是函数) ++ ++[B](that: GenTraversableOnce 秒速五厘米/ 2022年06月09日 02:09/ 0 赞/ 171 阅读
相关 Scala-函数的高阶使用 函数高级 高阶函数 在 Scala 中,函数是一等公民,对于一个函数我们可以:定义函数、调用函数 高阶运用: 1、函数可以作为值进行传递 object 雨点打透心脏的1/2处/ 2022年08月31日 02:24/ 0 赞/ 95 阅读
相关 scala的纯函数、高阶函数、匿名函数 纯函数、高阶函数、匿名函数是scala中的3个重要概念。 高阶函数是指能完成如下操作之一的函数: 可以使用一个或多个函数作为参数,从而完成某些操作; 返回一个 超、凢脫俗/ 2022年10月19日 15:58/ 0 赞/ 83 阅读
相关 Scala中的高阶函数 1.定义 : 当一个函数 func1 中的 参数列表 传入的是函数,那么函数func1 就是高阶函数 ![watermark_type_ZmFuZ3p 本是古典 何须时尚/ 2023年01月17日 08:29/ 0 赞/ 27 阅读
还没有评论,来说两句吧...