Home »
Scala
Currying function in Scala
By IncludeHelp Last updated : October 20, 2024
Currying function in Scala
A currying function is a transforming function with multiple arguments transformed into single arguments. A currying function takes two arguments into a function that takes only a single argument.
There are two syntaxes to define the currying functions in Scala.
Syntax
def functionName(arg1) = (arg2) => operation
def functionName(arg1) (arg2) = operation
Syntax explanation
In the first syntax, the function takes arg1 which equals arg2 and then the operation is performed.
The first single argument is the original function argument. This function returns another function that takes the second of the original function. This chaining continuous for all arguments of the function.
The last function in this chain does the actual word of the function call.
Example of currying function
object MyClass {
def add(x: Int) (y: Int) = x + y;
def main(args: Array[String]) {
println("sum of x + y = " + add(25)(10) );
println("sum of a + b = " + add(214)(4564) );
}
}
Output
sum of x + y = 35
sum of a + b = 4778
Code explanation
The above code defines and uses a currying function named add this function simply adds two numbers and return their addition. But is defined based on how a currying function is defined. The call also sends two numbers like two different functions in the function call.
Currying is a little bit tricky concept and you need to properly understand it to master over this. But this concept is useful while programming some big programs in Scala.