我知道了
hash = {
"Bitcoin" => "$6558.07",
"Ethereum" => "$468.95",
"XRP" => "$0.487526",
"Sprouts" => "$4.5e-07"
}
为了获得最大的成就:
hash.max_by{ |k, v| v[1..v.length-1].to_f}
#=> ["Bitcoin", "$6558.07"]
但是,如果我像min一样这样做:
hash.min_by{ |k, v| v[1..v.length-1].to_f}
#=> ["Sprouts", "$4.5e-07"]
所以我尝试了hash.min
,但是我没有发现如何放置好密钥。
答案 0 :(得分:1)
您唯一的问题是您无法获得密钥名称吗?
例如,您说的是何时做:
puts hash.min_by{ |k, v| v[1..v.length-1].to_f}
您得到
豆芽
$ 4.5e-07
但是您只想要Sprouts
吗?
如果是这样,您只是想念.first
key_of_min = hash.min_by{ |k, v| v[1..v.length-1].to_f}.first
或在puts
行上
puts hash.min_by{ |k, v| v[1..v.length-1].to_f}.first
只会给您
豆芽