Freigeben über


List.scan<'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. Diese Funktion verwendet das zweite Argument und wendet die angegebene Funktion darauf und auf das erste Element in der Liste an. Anschließend wird dieses Ergebnis zusammen mit dem zweiten Element usw. an die Funktion übergeben. Abschließend wird die Liste mit Zwischenergebnissen und dem Endergebnis zurückgegeben.

Namespace/Modulpfad: Microsoft.FSharp.Collections.List

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

// Signature:
List.scan : ('State -> 'T -> 'State) -> 'State -> 'T list -> 'State list

// Usage:
List.scan folder state list

Parameter

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

    Die Funktion, mit der der Zustand der Eingabeelemente aktualisiert wird.

  • state
    Typ: 'State

    Der Ausgangszustand.

  • list
    Typ: 'T list

    Die Eingabeliste.

Rückgabewert

Die Liste der Zustände.

Hinweise

Der Name dieser Funktion in kompilierten Assemblys lautet Scan. 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 die Verwendung von List.scan veranschaulicht.

let initialBalance = 1122.73
let transactions = [ -100.00; +450.34; -62.34; -127.00; -13.50; -12.92 ]
let balances =
    List.scan (fun balance transactionAmount -> balance + transactionAmount)
              initialBalance transactions
printfn "Initial balance:\n $%10.2f" initialBalance
printfn "Transaction   Balance"
for i in 0 .. List.length transactions - 1 do
    printfn "$%10.2f $%10.2f" transactions.[i] balances.[i]
printfn "Final balance:\n $%10.2f" balances.[ List.length balances - 1]

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

Collections.List-Modul (F#)

Microsoft.FSharp.Collections-Namespace (F#)

Änderungsprotokoll

Datum

Versionsgeschichte

Grund

August 2010

Codebeispiel hinzugefügt.

Informationsergänzung.