Map.findKey<'Key,'T> 関数 (F#)
コレクション内の各マッピングで関数を評価し、関数が true を返す最初のマッピングのキーを返します。そのような要素が存在しない場合、この関数は KeyNotFoundException を発生させます。
名前空間/モジュール パス: Microsoft.FSharp.Collections.Map
アセンブリ: FSharp.Core (FSharp.Core.dll 内)
// Signature:
Map.findKey : ('Key -> 'T -> bool) -> Map<'Key,'T> -> 'Key (requires comparison)
// Usage:
Map.findKey predicate table
パラメーター
例外
例外 |
状態 |
---|---|
マップ内にキーが存在しない場合にスローされます。 |
戻り値
述語が true に評価される最初のキー。
解説
この関数は、コンパイルされたアセンブリでは FindKey という名前です。F# 以外の言語から、またはリフレクションを使用してこの関数にアクセスする場合は、この名前を使用します。
使用例
次の例は、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
出力
プラットフォーム
Windows 8、Windows 7、Windows Server 2012 で Windows Server 2008 R2
バージョン情報
F# コア ライブラリのバージョン
サポート: ポータブル 2.0、4.0