foldLeft() method is a member of TraversableOnce trait, it is used to collapse elements of collections. It navigates elements from Left to Right order. It is primarily used in recursive functions and prevents stack overflow exceptions.
The following is the syntax of fold method.
def foldLeft[B](z: B)(op: (B, A) ? B): B
Here, foldLeft method takes associative binary operator function as a parameter. This method returns the result as value.
Below is an example program of showing how to use foldLeft method −
object Demo { def main(args: Array[String]) = { val list = List(1, 2, 3 ,4) //apply operation to get sum of all elements of the list val result = list.foldLeft(0)(_ + _) //print result println(result) } }
Here we've passed 0 as initial value to fold function and then all values are added. Save the above program in Demo.scala. The following commands are used to compile and execute this program.
\>scalac Demo.scala \>scala Demo
10