假如有如下对象
现在有一个Nation的对象数组
要将这个对象数组转化为一个hash,以code作为key。
方法1:
方法2:
class Nation
attr_accessor :code, :name
end
现在有一个Nation的对象数组
a #=> [#<Nation:0x3b90ac @code=1, @name="U.S.A">, #<Nation:0x3b6974 @code=86, @name="China">, ...]
要将这个对象数组转化为一个hash,以code作为key。
方法1:
h={}
a.each{|e| h[e.code]=e}
方法2:
h=a.inject({}){|f,e| f[e.code]=e; f}