Seq.choose<'T,'U> (Función de F#)
Aplica la función especificada a cada elemento de la lista y devuelve la lista con los resultados de cada elemento para el cual la función devuelve Some con algún valor.
Espacio de nombres/Ruta de acceso del módulo: Microsoft.FSharp.Collections.Seq
Ensamblado: FSharp.Core (en FSharp.Core.dll)
// Signature:
Seq.choose : ('T -> 'U option) -> seq<'T> -> seq<'U>
// Usage:
Seq.choose chooser source
Parámetros
chooser
Tipo: 'T -> 'UopciónFunción que se va a usar para transformar los elementos de tipo T en opciones de tipo U.
source
Tipo: seq<'T>Secuencia de entrada de tipo T.
Excepciones
Excepción |
Condition |
---|---|
Se produce cuando la secuencia de entrada es NULL. |
Valor devuelto
Secuencia resultante.
Comentarios
La secuencia devuelta se puede pasar entre subprocesos de forma segura.Sin embargo, no se debe tener acceso de forma simultánea a los valores de IEnumerator individuales generados a partir de la secuencia devuelta.
Esta función se denomina Choose en los ensamblados compilados.Si obtiene acceso a la función desde un lenguaje distinto de F# o mediante reflexión, use este nombre.
Ejemplo
En el ejemplo de código siguiente se muestra el uso de Seq.choose para seleccionar elementos de una secuencia a través de una expresión lambda que use la coincidencia de modelos para devolver un tipo de opción.
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
Plataformas
Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Información de versiones
Versiones de la biblioteca básica de F#
Se admite en: 2.0, 4.0, portables