Seq.fold<'T,'State>-Funktion (F#)
Wendet eine Funktion auf jedes Element der Auflistung an, wobei ein Akkumulatorargument in der Berechnung mitgeführt wird. Ist die Eingabefunktion f und sind die Elemente i0...iN berechnet diese Funktion f (... (f s i0)...) iN.
Namespace/Modulpfad: 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
Parameter
folder
Typ: 'State -> 'T -> 'StateEine Funktion, die den Zustand für jedes Element aus der Sequenz aktualisiert.
state
Typ: 'StateDer Ausgangszustand.
source
Typ: seq<'T>Die Eingabesequenz.
Ausnahmen
Ausnahme |
Bedingung |
---|---|
Wird ausgelöst, wenn die Eingabesequenz NULL ist. |
Rückgabewert
Das Endergebnis der Berechnung.
Hinweise
Der Name dieser Funktion in kompilierten Assemblys lautet Fold. Verwenden Sie diesen Namen, wenn Sie in einer anderen .NET-Sprache als F# oder durch Reflektion auf die Funktion zugreifen.
Beispiel
Im folgenden Code wird veranschaulicht, wie mit Seq.fold eine Funktion implementiert wird, die die Summe der Elemente einer Sequenz berechnet.
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
Plattformen
Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Versionsinformationen
F#-Kern-Bibliotheks-Versionen
Unterstützt in: 2,0, 4,0, portablen