Коллекции Scala - метод FoldLeft
Метод foldLeft () является членом трейта TraversableOnce, он используется для сворачивания элементов коллекций. Он перемещает элементы слева направо. Он в основном используется в рекурсивных функциях и предотвращает исключения переполнения стека.
Синтаксис
Ниже приводится синтаксис метода сворачивания.
def foldLeft[B](z: B)(op: (B, A) ? B): B
Здесь метод foldLeft принимает в качестве параметра функцию ассоциативного бинарного оператора. Этот метод возвращает результат как значение.
Применение
Ниже приведен пример программы, показывающей, как использовать метод foldLeft -
пример
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)
}
}
Здесь мы передали 0 в качестве начального значения для функции сворачивания, а затем все значения добавлены. Сохраните указанную выше программу вDemo.scala. Следующие команды используются для компиляции и выполнения этой программы.
Команда
\>scalac Demo.scala
\>scala Demo
Вывод
10