14.4 作为参数的函数

在前面我们已经体会到, 一个函数 A 也可以作为参数传递到函数B的内部. 在函数B 的内部, 可以调用函数A.

很多情况下, 我们喜欢把匿名函数作为参数传递出去.

object ParamDemo1 {
  def main(args: Array[String]): Unit = {
    import scala.math._
    // 传入ceil函数 _ 表示在传递函数, 而不是调用函数
    println(evaluate(ceil _))
    println(evaluate(sqrt _))
    println(evaluate(floor _))
    // 传入一个匿名函数
    print(evaluate(x => x + 10))
  }

  /*
  接收一个函数作为参数.
  内部是调用接收到的函数
   */
  def evaluate(x: Double => Double): Double = {
    x(0.25)
  }
}

说明:

  • evaluate(x: Double => Double) 中的x: Double => Double 表示 x 的类型是一个函数: 这个函数只要一个Double类型的参数, 返回值为为 Double 类型的数据
Copyright © 尚硅谷大数据 2019 all right reserved,powered by Gitbook
该文件最后修订时间: 2019-07-02 08:12:45

results matching ""

    No results matching ""