此代码中使用的方法产品如何?
这个函数的结果是 3600
所以 product 接受一个函数: f , f 接受一个 Int 参数,该参数返回一个 Int 参数。
但是 (a: Int, b: Int) 不是表示返回了一个接受两个 Int 参数的函数吗?
我对这一行发生的事情感到困惑: f(a) * product(f)(a + 1, b)
功能齐全:
def product(f: Int => Int)(a: Int, b: Int): Int =
if(a > b) 1
else {
f(a) * product(f)(a + 1, b)
}
product(x => x * x)(3 , 5)