Share via


Funzione Seq.fold<'T,'State> (F#)

Applica una funzione a ogni elemento della raccolta, eseguendo il threading di un argomento di accumulatore attraverso il calcolo.Se la funzione di input è f e gli elementi sono i0...iN, tale funzione calcola f (... (f s i0)...) iN.

Percorso spazio dei nomi/modulo: Microsoft.FSharp.Collections.Seq

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

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

// Usage:
Seq.fold folder state source

Parametri

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

    Funzione che aggiorna lo stato con ogni elemento dalla sequenza.

  • state
    Tipo: 'State

    Stato iniziale.

  • source
    Tipo: seq<'T>

    Sequenza di input.

Eccezioni

Eccezione

Condizione

ArgumentNullException

Generata se la sequenza di input è Null.

Valore restituito

Risultato finale del calcolo.

Note

Questa funzione è denominata Fold negli assembly compilati.Utilizzare questo nome se si accede alla funzione da un linguaggio diverso da F# o tramite reflection.

Esempio

Nel codice seguente viene illustrato come utilizzare Seq.fold per implementare una funzione che calcoli la somma degli elementi di una sequenza.

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."

Output

  

Piattaforme

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

Informazioni sulla versione

Versioni della libreria di base F#

Supportato in: 2,0, 4,0, portabile

Vedere anche

Riferimenti

Modulo Collections.Seq (F#)

Spazio dei nomi Microsoft.FSharp.Collections (F#)