Коллекции 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