Compartilhar via


SEQ.Fold < m',' estado > Função (F#)

Aplica uma função para cada elemento da coleção, rosqueando um argumento de acumulador com a computação.Se a função de entrada é f e os elementos são i0...iN, então cálculos f (... (f s i0)...) iNde essa função.

Namespace/Module Path: Microsoft.FSharp.Collections.Seq

Assembly: FSharp.Core (em FSharp.Core.dll)

// Signature:
Seq.fold : ('State -> 'T -> 'State) -> 'State -> seq<'T> -> 'State

// Usage:
Seq.fold folder state source

Parâmetros

  • folder
    Tipo: 'State -> 'T -> 'State

    Uma função que atualiza o estado com cada elemento da seqüência.

  • state
    Tipo: 'State

    o estado inicial.

  • source
    Tipo: seq<'T>

    a seqüência de entrada.

Exceções

Exceção

Condição

ArgumentNullException

Acionada quando a seqüência de entrada seja nulo.

Valor de retorno

O resultado final de computação.

Comentários

Essa função é chamada Fold em assemblies compilados.Se você está acessando a função de um idioma diferente F#, ou com a reflexão, use este nome.

Exemplo

O código a seguir mostra como usar Seq.fold para implementar uma função que compute a soma dos elementos de uma seqüência.

let sumSeq sequence1 = Seq.fold (fun acc elem -> acc + elem) 0 sequence1
Seq.init 10 (fun index -> index * index)
|> sumSeq
|> printfn "The sum of the elements is %d."

Saída

  

Plataformas

O windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2

Informações de Versão

Versões da biblioteca principal de F#

Suportado em: 2,0, 4,0, portáteis

Consulte também

Referência

Módulo de Collections.SEQ (F#)

Microsoft.FSharp.Collections Namespace (F#)