• Scala高阶函数实践


    高阶函数主要有两种:一种是将一个函数当做另外一个函数的参数(即函数参数);另外一种是返回值是函数的函数。
    package sparkCore
    /**
    * Created by zhen on 2018/3/12.
    */
    object HigherOrderFunction {
    //定义普通函数
    def add(left:Double,right:Double): Double ={
    left + right
    }
    //作为值的函数
    val valueAdd = add _ //使用" _"匹配参数
    //测试匿名函数
    val anonymousFunctionAdd = (left:Double,right:Double) => println(s"anonymousFunctionAdd:left add right equal ${left + right}")
    val left = 2.34
    val right = 6.78
    //测试高阶函数
    def higherOrderFunction(f : (Double) => Double) = f(3 * left)
    //高级函数变形
    def anotherHigherOrderFunction(left:Double) = (right:Double) => left * right

    def main(args: Array[String]) {
    //调用作为值的函数
    valueAdd(2.67,4.54)
    //调用匿名函数
    anonymousFunctionAdd(3.6,4.5)
    //调用高阶函数
    println(higherOrderFunction(x=>3*x).formatted("%.2f"))
    //调用高级函数变形
    val another = anotherHigherOrderFunction(left)
    println(another(right).formatted("%.2f"))
    }
    }
    结果:

    
    
  • 相关阅读:
    浏览器拦截跨域请求处理方法
    如何保护java程序不被反编译
    python面对对象面试题
    面向对象之继承
    面向对象之多态
    面向对象之组合
    面向对象初始
    python之匿名函数
    python之内置函数
    azure连接redis
  • 原文地址:https://www.cnblogs.com/yszd/p/8579797.html
Copyright © 2020-2023  润新知