Seq.filter<'T>, fonction (F#)
Retourne une nouvelle collection contenant uniquement les éléments de la collection pour lesquels le prédicat donné retourne la valeur true.
Espace de noms/Chemin du module : 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
Paramètres
predicate
Type : 'T -> boolFonction permettant de tester si chaque élément de la séquence d'entrée doit être inclus dans la sortie.
source
Type : seq<'T>Séquence d'entrée.
Exceptions
Exception |
Condition |
---|---|
Levée lorsque la séquence d'entrée a la valeur Null. |
Valeur de retour
Séquence de résultat.
Notes
La séquence retournée peut être passée entre les threads en toute sécurité. Toutefois, les valeurs IEnumerator individuelles générées à partir de la séquence retournée ne doivent pas être accessibles simultanément. La séquence est évaluée paresseusement. Par conséquent, les effets sont différés jusqu'à ce qu'elle soit énumérée.
Cette fonction se nomme Filter dans les assemblys compilés. Si vous accédez à la fonction à partir d'un langage autre que F# ou par réflexion, utilisez ce nom.
Exemple
Le code suivant montre l'utilisation de Seq.filter pour filtrer une séquence infinie de nombres aléatoires pour sélectionner uniquement les chiffres pairs.
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 ""
Résultat de l'exemple
Plateformes
Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2
Informations de version
Runtime F#
Pris en charge dans : 2.0, 4.0
Silverlight
Prise en charge dans : 3
Voir aussi
Référence
Microsoft.FSharp.Collections, espace de noms (F#)
Historique des modifications
Date |
Historique |
Motif |
---|---|---|
Août 2010 |
Ajout d'un exemple de code |
Améliorations apportées aux informations. |