Freigeben über


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 -> 'State

    Eine Funktion, die den Zustand für jedes Element aus der Sequenz aktualisiert.

  • state
    Typ: 'State

    Der Ausgangszustand.

  • source
    Typ: seq<'T>

    Die Eingabesequenz.

Ausnahmen

Ausnahme

Bedingung

ArgumentNullException

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

Siehe auch

Referenz

Collections.Seq-Modul (F#)

Microsoft.FSharp.Collections-Namespace (F#)