Array.tryFind<'T> (Función de F#)

Devuelve el primer elemento para el cual la función especificada devuelve true. Devuelve None si no existe ese elemento.

Espacio de nombres/Ruta de acceso del módulo: Microsoft.FSharp.Collections.Array

Ensamblado: FSharp.Core (en FSharp.Core.dll)

// Signature:
Array.tryFind : ('T -> bool) -> 'T [] -> 'T option

// Usage:
Array.tryFind predicate array

Parámetros

  • predicate
    Tipo: 'T -> bool

    Función que se va a usar para comprobar los elementos de entrada.

  • array
    Tipo: 'T []

    Matriz de entrada.

Valor devuelto

Primer elemento que cumple el predicado, o None.

Comentarios

Esta función se denomina TryFind en los ensamblados compilados. Si obtiene acceso a la función desde un lenguaje .NET distinto de F# o mediante reflexión, use este nombre.

Ejemplo

El ejemplo siguiente muestra el uso de Array.tryFind para intentar buscar los elementos de matriz que sean tanto cubos perfectos como cuadrados perfectos.

let delta = 1.0e-10
let isPerfectSquare (x:int) =
    let y = sqrt (float x)
    abs(y - round y) < delta
let isPerfectCube (x:int) =
    let y = System.Math.Pow(float x, 1.0/3.0)
    abs(y - round y) < delta
let lookForCubeAndSquare array1 =
    let result = Array.tryFind (fun elem -> isPerfectSquare elem && isPerfectCube elem) array1
    match result with
    | Some x -> printfn "Found an element: %d" x
    | None -> printfn "Failed to find a matching element."

lookForCubeAndSquare [| 1 .. 10 |]
lookForCubeAndSquare [| 100 .. 1000 |]
lookForCubeAndSquare [| 2 .. 50 |]
  

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.Array (Módulo de F#)

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