我有一种适用于我的目的的方法,唯一的事情是我真的不知道发生了什么,并且可以用外行的方式进行解释。特别是最后评估的行:
hash.map{ |k,v| v==max[1] ? k : nil }.compact.sort_by(&:length).first
这是我的代码:
def self.largest_hash_key(hash)
max = hash.max_by{ |k,v| v }
seven = hash.max_by{ |k,v| k.length }.first
if seven.length == 7
seven
else
hash.map{ |k,v| v==max[1] ? k : nil }.compact.sort_by(&:length).first
end
end