Funzione Seq.fold<'T,'State> (F#)
Applica una funzione a ogni elemento dell'insieme, eseguendo il threading di un argomento dell'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 -> 'StateFunzione che aggiorna lo stato con ogni elemento dalla sequenza.
state
Tipo: 'StateStato iniziale.
source
Tipo: seq<'T>Sequenza di input.
Eccezioni
Eccezione |
Condizione |
---|---|
Generata quando 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 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2.
Informazioni sulla versione
F# Runtime
Supportato in: 2.0, 4.0
Silverlight
Supportato in: 3
Vedere anche
Riferimenti
Spazio dei nomi Microsoft.FSharp.Collections (F#)
Cronologia delle modifiche
Data |
Cronologia |
Motivo |
---|---|---|
Agosto 2010 |
Aggiunto esempio di codice. |
Miglioramento delle informazioni. |