Seq.fold<'T,'State> — Funkcja (F#)
Każdy element kolekcji, argument akumulator za pomocą obliczeń threading dotyczy funkcji.Jeśli funkcja wejściowy jest f i elementy są i0...iN, a następnie funkcja oblicza f (... (f s i0)...) iN.
Ścieżka obszaru nazw/modułu: Microsoft.FSharp.Collections.Seq
Zgromadzenie: FSharp.Core (w FSharp.Core.dll)
// Signature:
Seq.fold : ('State -> 'T -> 'State) -> 'State -> seq<'T> -> 'State
// Usage:
Seq.fold folder state source
Parametry
folder
Typ:'State -> 'T -> 'StateFunkcja, która aktualizuje stan każdego elementu z sekwencji.
state
Typ:'StateStan początkowy.
source
Typ: seq<'T>Sekwencji wejściowych.
Wyjątki
Wyjątek |
Warunek |
---|---|
Zgłoszony podczas sekwencji wejściowych jest null. |
Wartość zwracana
Końcowy wynik obliczeń.
Uwagi
Ta funkcja o nazwie Fold w skompilowane zestawy.Jeżeli języka, niż F# lub przez odbicie, uzyskują dostęp do funkcji, należy użyć tej nazwy.
Przykład
Poniższy kod pokazuje, jak używać Seq.fold zaimplementować funkcję, która oblicza sumę elementów sekwencji.
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."
Dane wyjściowe
Platformy
Windows 8, Windows 7, Windows Server 2012 Windows Server 2008 R2
Informacje o wersji
F# Core wersji biblioteki
Obsługiwane: 2.0, 4.0, przenośne