Sdílet prostřednictvím


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 ->bool

    Funkce 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

ArgumentNullException

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é

Viz také

Referenční dokumentace

Collections.Seq – modul (F#)

Microsoft.FSharp.Collections – obor názvů (F#)