我有哈希{ "1" => "one", "2" => "two", "3" => "three" }
如何按键获取值和值。
如果我通过“1”我得到“一个”,如果我通过“两个”我得到“2”
def finder (string)
table = { "1" => "one", "2" => "two", "3" => "three" }
*magick*
}
return string
end
puts finder("1") => one
puts finder("one") => 1
答案 0 :(得分:10)
Hash#key
返回给定值的键:
@hash = {"1"=>"one", "2"=>"two", "3"=>"three"}
@hash.key("one") #=> "1"
或nil
如果不存在此类值:
@hash.key("four") #=> nil
要获取键的值或值的键,可以使用:
def finder(str)
@hash[str] || @hash.key(str)
end
finder("1") #=> "one"
finder("one") #=> "1"
答案 1 :(得分:2)
如果您的哈希很大并且您将反复执行此操作,则可以为快速查找创建新哈希:
('2016-03-31', '2016-03-05')