1. 程式人生 > >Scala求和例子

Scala求和例子

 def sum(f: Int => Int)(a: Int)(b: Int): Int = {

    @annotation.tailrec
    def loop(n: Int, acc: Int): Int = {
      if (n > b) {
        println(s"n=${n},acc=${acc}")
        acc
      } else {
        println(s"n=${n},acc=${acc}")
        loop(n + 1, acc + f(n))
      }
    }
    loop(a, 0
) } sum(x => x)(1)(5) sum(x => x*x)(1)(5) //使用萬用字元 val sumSqure = sum(x => x * x)_ sumSqure(1)(5)

=>可以理解為對映關係
柯里化和偏應用函式