List.scan<'T,'State> İşlevi (F#)
İşlevi koleksiyonun her öğesine accumulator bağımsız değişken hesaplama iş parçacığı ile uygular. Bu işlev ikinci bağımsız değişken alır ve işlev ve listedeki ilk öğe için geçerlidir. Daha sonra ikinci öğe vb. ile birlikte işlevi içine Bu sonuç geçirir. Son olarak, ara sonuçları ve nihai sonuç listesini döndürür.
Ad alanı/modül yolu: Microsoft.FSharp.Collections.List
Derleme: FSharp.Core (FSharp.Core.dll),
// Signature:
List.scan : ('State -> 'T -> 'State) -> 'State -> 'T list -> 'State list
// Usage:
List.scan folder state list
Parametreler
folder
Türü:'State -> 'T -> 'StateVerilen giriş öğelerine göre durumu güncellemek için işlev.
state
Türü:'StateBaşlangıç durumu.
list
Type: 'TlistGiriş listesi.
Dönüş Değeri
Durumların listesi.
Notlar
Bu işlev adlı Scan kodları derlenmiş derlemeleri. İşlev .net Dili dışındaki F# veya yansıtma üzerinden erişiyorsanız, bu adı kullanın.
Örnek
Aşağıdaki kod nasıl kullanılacağını gösterir List.scan.
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]
Çıktı
Platformlar
Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Sürüm Bilgisi
F# Çekirdek Kitaplığı sürümleri
Desteklenen: 2.0, 4.0, Portable