我有两个包含人物信息的数组:
brad = ["Brad", 16]
andrew = ["Andrew", 43]
可以通过以下方式找到更大的数字:
max_num = [brad[1], andrew[1]].max
我希望将名称与最大值匹配,以便我可以说
puts "The max is #{max_num} and the record setter is #{name}"
我将如何实现这一目标?这必须适用于列出的两个以上的数组,因此if max_num == brad[1] else
等的答案将无效。
答案 0 :(得分:5)
你可以通过:
[brad, andrew].max_by { |k,v| v } # => ["Andrew", 43]
所以
name, max_num = [brad, andrew].max_by { |k,v| v }
puts "The max is #{max_num} and the record setter is #{name}"