Ruby:返回最低变量的名称

时间:2011-11-13 17:31:45

标签: ruby

我想从散列中返回最低值的id:

{var1:345 , var2:764 , var3:126 }.return_lowest_value_id => "var3"

没有IF语句,最优雅的Ruby方法是什么?

1 个答案:

答案 0 :(得分:5)

在使用哈希的情况下,您可以尝试:

{var1:345 , var2:764 , var3:126 }.sort_by { |k, v| v }.first[0]  # => :var3

作为另一种选择,您可以使用min_by方法:

{var1:345 , var2:764 , var3:126 }.min_by { |k, v| v }[0]  # => :var3