Aracılığıyla paylaş


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

    Verilen giriş öğelerine göre durumu güncellemek için işlev.

  • state
    Türü:'State

    Başlangıç durumu.

  • list
    Type: 'Tlist

    Giriş 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

Ayrıca bkz.

Başvuru

Collections.List Modülü (F#)

Microsoft.FSharp.Collections İsim Uzayı (F#)