Seq.fold<'T,'State>-Funktion (F#)
Aktualisiert: August 2010
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 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2
Versionsinformationen
F#-Runtime
Unterstützt in: 2.0, 4.0
Silverlight
Unterstützt in: 3
Siehe auch
Weitere Ressourcen
Microsoft.FSharp.Collections-Namespace (F#)
Änderungsprotokoll
Datum |
Versionsgeschichte |
Grund |
---|---|---|
August 2010 |
Codebeispiel hinzugefügt. |
Informationsergänzung. |