Funzione Seq.filter<'T> (F#)
Restituisce una nuova raccolta contenente i soli elementi della raccolta per cui il predicato specificato restituisce true.
Percorso spazio dei nomi/modulo: Microsoft.FSharp.Collections.Seq
Assembly: FSharp.Core (in FSharp.Core.dll)
// Signature:
Seq.filter : ('T -> bool) -> seq<'T> -> seq<'T>
// Usage:
Seq.filter predicate source
Parametri
predicate
Tipo: 'T ->boolFunzione su cui eseguire il test se ogni elemento nella sequenza di input deve essere incluso nell'output.
source
Tipo: seq<'T>Sequenza di input.
Eccezioni
Eccezione |
Condizione |
---|---|
Generata se la sequenza di input è Null. |
Valore restituito
Sequenza risultante.
Note
La sequenza restituita può essere passata in modo sicuro tra thread.L'accesso ai singoli valori IEnumerator generati dalla sequenza restituita non deve essere tuttavia eseguito in modo simultaneo.La sequenza viene valutata in modo differito.Di conseguenza, gli effetti sono ritardati finché la sequenza non viene enumerata.
Questa funzione è denominata Filter negli assembly compilati.Utilizzare questo nome se si accede alla funzione da un linguaggio diverso da F# o tramite reflection.
Esempio
Nel codice riportato di seguito viene illustrato l'utilizzo di Seq.filter per filtrare una sequenza infinita di numeri casuali per selezionare solo i numeri pari.
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 ""
Esempio di output
Piattaforme
Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Informazioni sulla versione
Versioni della libreria di base F#
Supportato in: 2,0, 4,0, portabile