Seq.choose<'T,'U>, fonction (F#)
Applique la fonction donnée à chaque élément de la liste et retourne la liste constituée des résultats pour chaque élément où la fonction retourne Some avec une valeur quelconque.
Espace de noms/Chemin du module : Microsoft.FSharp.Collections.Seq
Assembly : FSharp.Core (in FSharp.Core.dll)
// Signature:
Seq.choose : ('T -> 'U option) -> seq<'T> -> seq<'U>
// Usage:
Seq.choose chooser source
Paramètres
chooser
Type : 'T -> 'U optionFonction permettant de transformer des éléments de type T en options de type U.
source
Type : seq<'T>Séquence d'entrée de type T.
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.
Cette fonction se nomme Choose 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
L'exemple de code suivant illustre l'utilisation de Seq.choose pour sélectionner des éléments d'une séquence en utilisant une expression lambda qui utilise des critères spéciaux pour retourner un type d'option.
let numbers = seq {1..20}
let evens = Seq.choose(fun x ->
match x with
| x when x%2=0 -> Some(x)
| _ -> None ) numbers
printfn "numbers = %A\n" numbers
printfn "evens = %A" evens
Plateformes
Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Informations de version
Versions de bibliothèque principale F#
Prise en charge dans : 2,0, 4,0, portables