Seq.filter<'T> — Funkcja (F#)
Zwraca nową kolekcję, zawierające elementy kolekcji, dla którego dany predykat zwraca true.
Ścieżka obszaru nazw/modułu: Microsoft.FSharp.Collections.Seq
Zestaw: FSharp.Core (w FSharp.Core.dll)
// Signature:
Seq.filter : ('T -> bool) -> seq<'T> -> seq<'T>
// Usage:
Seq.filter predicate source
Parametry
predicate
Type: 'T ->boolFunkcja testowania, czy każdy element w sekwencji wejściowych powinna być włączona w danych wyjściowych.
source
Typ: seq<'T>Sekwencji wejściowych.
Wyjątki
Wyjątek |
Warunek |
---|---|
Zgłoszony podczas sekwencji wejściowych jest null. |
Wartość zwracana
Sekwencja wynik.
Uwagi
Sekwencja zwracane mogą być przekazywane między wątki bezpiecznie.Jednakże poszczególnych IEnumerator wygenerowany z sekwencji zwracane wartości nie jest dostępna jednocześnie.Sekwencja lazily jest oceniane.Dlatego skutki są opóźnione aż jest wyliczany.
Ta funkcja o nazwie Filter 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 ilustruje użycie Seq.filter do filtrowania infinite sekwencji liczb losowych, aby zaznaczyć tylko parzystą.
let random = new System.Random()
Seq.initInfinite (fun _ -> random.Next())
|> Seq.filter (fun x -> x % 2 = 0)
|> Seq.take 5
|> Seq.iter (fun elem -> printf "%d " elem)
printfn ""
Przykładowe 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