Compartir a través de


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

Vea también

Referencia

Collections.Array (Módulo de F#)

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