Coleções Scala - Método de digitalização

O método scan () é um membro do traço TraversableLike, é semelhante ao método dobra, mas é usado para aplicar uma operação em cada elemento da coleção e retornar uma coleção.

Sintaxe

A seguir está a sintaxe do método fold.

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

Aqui, o método de varredura usa a função do operador binário associativo como um parâmetro. Este método retorna a coleção atualizada como resultado. Ele considera a primeira entrada como valor inicial e a segunda entrada como uma função.

Uso

Abaixo está um exemplo de programa mostrando como usar o método de verificação -

Exemplo

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

Aqui, passamos 0 como valor inicial para a função de varredura e, em seguida, todos os valores são adicionados. Salve o programa acima emDemo.scala. Os seguintes comandos são usados ​​para compilar e executar este programa.

Comando

\>scalac Demo.scala
\>scala Demo

Resultado

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