一致する値を含むハッシュキーを見つける方法
概要
以下のクライアントのハッシュがあるとすると、client_id と一致させたい場合にキーを取得するための (複数行のスクリプトを書かずに) Ruby の簡単な方法はありますか?例えば。 client_id == “2180” のキーを取得するにはどうすればよいですか?
clients = {
"yellow"=>{"client_id"=>"2178"},
"orange"=>{"client_id"=>"2180"},
"red"=>{"client_id"=>"2179"},
"blue"=>{"client_id"=>"2181"}
}
解決策
Ruby 1.9 以降:
hash.key(value) => key
ルビー 1.8:
hash.indexを使用できます
したがって、「オレンジ」を取得するには、次のようにします。
clients.key({"client_id" => "2180"})