English 中文(简体)
Scala Collections - scan
  • 时间:2024-10-18

Scala Collections - Scan Method


Previous Page Next Page  

scan() method is a member of TraversableLike trait, it is similar to fold method but is used to apply a operation on each elements of collection and return a collection.

Syntax

The following is the syntax of fold method.


def scan[B >: A, That](z: B)(op: (B, B) ? B)(imppcit cbf: CanBuildFrom[Repr, B, That]): That

Here, scan method takes associative binary operator function as a parameter. This method returns the updated collection as result. It considers first input as initial value and second input as a function.

Usage

Below is an example program of showing how to use scan method −

Example


object Demo {
   def main(args: Array[String]) = {
      val pst = List(1, 2, 3 ,4)
      //apply operation to create a running total of all elements of the pst
      val pst1 = pst.scan(0)(_ + _)
      //print pst
      println(pst1)      
   }
}

Here we ve passed 0 as initial value to scan 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.

Command


>scalac Demo.scala
>scala Demo

Output


List(0, 1, 3, 6, 10)
Advertisements