zoukankan      html  css  js  c++  java
  • 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"))
    }
    }
    结果:

    
    
  • 相关阅读:
    算法与数据结构基础
    算法与数据结构基础
    算法与数据结构基础
    分布式系统理论进阶
    分布式系统理论进阶
    分布式系统理论基础
    分布式系统理论进阶
    分布式系统理论基础
    dht 分布式hash 一致性hash区别
    排期模板
  • 原文地址:https://www.cnblogs.com/yszd/p/8579797.html
Copyright © 2011-2022 走看看