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 -> 'U opción

    Funció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

ArgumentNullException

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 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2

Información de versiones

Runtime de F#

Se admite en las versiones: 2.0, 4.0

Silverlight

Se admite en la versión: 3

Vea también

Referencia

Collections.Seq (Módulo de F#)

Microsoft.FSharp.Collections (Espacio de nombres de F#)