Currying is one of the several mechanisms in Scala to create control abstractions.
Common way of writing function is as:
A curried function, on other hand, is applied to multiple argument lists. Above function when written in 'curried' manner:
We can get reference to 'second' function by using placeholder notation.
Output is:
Common way of writing function is as:
def plainCommonSum(x: Int, y: Int) = x + y
This function has a single parameter list.A curried function, on other hand, is applied to multiple argument lists. Above function when written in 'curried' manner:
def curriedSum(x: Int)(y: Int) = x + y
An invocation to a curried function is basically a sequence of traditional function invocations.For example, when we call 'curriedSum' ,first a function call takes a single Int parameter 'x', and returns a function value. A second function call is made with this function value and it takes a single Int parameter 'y',and returns an Int.We can get reference to 'second' function by using placeholder notation.
def greetSomeOne(greeting: String)(name: String) = greeting + " " +name
val greetHi = greetSomeOne("Hi")_
val greetHello = greetSomeOne("Hello")_
println(greetHi("World"))
println(greetHello("World"))
Output is:
Hi World
Hello World
No comments:
Post a Comment