このコードで使用されているメソッド製品はどのようになっていますか?
この関数の結果は3600です。
したがって、productは関数を取ります:f、fはIntパラメーターを返すIntパラメーターを取ります。
しかし、(a:Int、b:Int)は、2つの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)