Currying in scala -
w.r.t currying in scala, partly understood below sample code.
def product1(f:int => int )(a:int, b:int):int = { println() if(a > b ) 1 else f(a) * product1(f)(a+1, b) } product(x => x * x) (3, 4)
out of it., bit confused with
product1(f)
in
product1(f)(a+1, b)
just need explanation, goes on here.... :( , how pronounce verbally while explaining...
thanks in advance..
product1
has 2 parameter lists. product1(f)
application of f
function of kind int => int
. if call product1(f)
so:
product1(f)
without second parameter list, you'd so-called partially-applied function, i.e. function doesn't have of parameters bound (you'd still need provide a
, b
)
Comments
Post a Comment