Seq.filter<'T> – funkce (F#)
Vrátí nové kolekce obsahující prvky kolekce, které vrátí dané predikát true.
Cesta k oboru názvů nebo modul: Microsoft.FSharp.Collections.Seq
Sestavení: FSharp.Core (v FSharp.Core.dll)
// Signature:
Seq.filter : ('T -> bool) -> seq<'T> -> seq<'T>
// Usage:
Seq.filter predicate source
Parametry
predicate
Type: 'T ->boolFunkce otestovat, zda jednotlivé položky v pořadí vstupní měly být zahrnuty do výstupu.
source
Typ: SEQ.<'T>Vstupní sekvence.
Výjimky
Výjimka |
Podmínka |
---|---|
Vyvolána při vstupní posloupnost je null. |
Vrácená hodnota
Řada výsledků.
Poznámky
Vrácené sekvence může bezpečně předána mezi podprocesy.Však jednotlivé IEnumerator hodnoty generované ze sekvence vrácené neměli přístup souběžně.Pořadí je pomalu plující vyhodnocena.Účinky se zpožďují proto, dokud je ve výčtu.
Tato funkce se nazývá Filter v kompilovaný sestavení.Pokud přistupujete k funkci jazyka než F# nebo prostřednictvím reflexe, tento název použijte.
Příklad
Následující kód ukazuje použití Seq.filter filtrovat nekonečné posloupnosti náhodných čísel vyberte pouze sudá čísla.
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 ""
Vzorový výstup
Platformy
Windows 8, Windows 7, Windows Server 2012 Windows Server 2008 R2
Informace o verzi
F# základní verze knihovny
Podporovány: 2.0, 4.0, přenosné