假如有如下对象
现在有一个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}
本文介绍了一种将Ruby中特定类Nation的对象数组转换为Hash的方法,利用对象的code属性作为Hash的键。提供了两种实现方式:使用each遍历数组填充Hash和使用inject结合匿名函数实现。
362

被折叠的 条评论
为什么被折叠?



