Map.findKey<'Key,'T> (Función de F#)
Evalúa la función en cada asignación de la colección y devuelve la clave de la primera asignación para la cual la función devuelve true.Si no existe ningún elemento, esta función genera KeyNotFoundException.
Espacio de nombres/Ruta de acceso del módulo: Microsoft.FSharp.Collections.Map
Ensamblado: FSharp.Core (en FSharp.Core.dll)
// Signature:
Map.findKey : ('Key -> 'T -> bool) -> Map<'Key,'T> -> 'Key (requires comparison)
// Usage:
Map.findKey predicate table
Parámetros
predicate
Tipo: 'Key -> 'T ->boolFunción que se va a usar para comprobar los elementos de entrada.
table
Tipo: Map<'Key,'T>Asignación de entrada.
Excepciones
Excepción |
Condition |
---|---|
Se produce si la clave no existe en la asignación. |
Valor devuelto
Primera clave para la cual el predicado se evalúa como true.
Comentarios
Esta función se denomina FindKey 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 siguiente se muestra cómo utilizar Map.findKey.
let findKeyFromValue findValue map =
printfn "With value %A, found key %A." findValue (Map.findKey (fun key value -> value = findValue) map)
let map1 = Map.ofList [ (1, "one"); (2, "two"); (3, "three") ]
let map2 = Map.ofList [ for i in 1 .. 10 -> (i, i*i) ]
try
findKeyFromValue "one" map1
findKeyFromValue "two" map1
findKeyFromValue 9 map2
findKeyFromValue 25 map2
// The key is not in the map, so the following line throws an exception.
findKeyFromValue 0 map2
with
:? System.Collections.Generic.KeyNotFoundException as e -> printfn "%s" e.Message
Output
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