Scala Collections FoldRight Method
The foldRight work is relevant to both Scala’s Mutable and Immutable assortment information structures.
The foldRight technique takes an affiliated parallel administrator work as boundary and will utilize it to implode components from the assortment. The request for navigating the components in the assortment is from option to left and thus the name foldRight. The foldRight technique permits you to likewise determine an underlying worth.
The foldRight
is a method in Scala collections is a higher-order function that facilitates iterative processing and aggregation of elements from right to left within a collection. This method is define on sequences (e.g., List, Vector) and operates by recursively applying a binary operator to combine elements of the collection starting from the rightmost element.
The signature of foldRight
is foldRight[B](z: B)(op: (A, B) => B): B
, where:
z
is an initial value of typeB
used as the starting accumulator.op
is a binary operator that takes an element of the collection of typeA
and an accumulator of typeB
, and produces a new accumulator of typeB
.
The foldRight
method processes elements in reverse order compared to foldLeft
, making it suitable for operations that require a right-associative combining function (e.g., constructing new collections, performing recursive computations).Scala Collections FoldRight Method
use case 1:
The code below shows how to sum all the donut prices from the sequence by using the foldRight method.
scala> val prices: Seq[Double] = Seq(1.5, 2.0, 2.5)
scala> val sum = prices.foldRight(0.0)(_ + _)
2use case 2:
Create a String of all using foldRight function
scala> val eduprwa: Seq[String] = Seq("Data", "Science", "Prwatech")
scala> println(s"All eduprwa = ${eduprwa.foldRight("")((a, b) => a + " eduprwa " + b)}")
use case 3:
scala> val prices: Seq[Int] = Seq(1, 2, 2)
scala> val sum = prices.foldRight(0.0)(_ - _)