论坛首页 编程语言技术论坛

将数组转换为hash

浏览 3530 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (6)
作者 正文
   发表时间:2008-07-07  
假如有如下对象

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}





论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics