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 -> 'StateDie Funktion, mit der der Zustand der Eingabeelemente aktualisiert wird.
state
Typ: 'StateDer Ausgangszustand.
list
Typ: 'T listDie 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
Microsoft.FSharp.Collections-Namespace (F#)
Änderungsprotokoll
Datum |
Versionsgeschichte |
Grund |
---|---|---|
August 2010 |
Codebeispiel hinzugefügt. |
Informationsergänzung. |