ruby - 将数组写入散列而不覆盖

时间:2011-06-03 15:31:56

标签: ruby-on-rails ruby

我做以下

my_hash = Hash.new
my_hash[:children] = Array.new

然后我有一个函数,每次写给孩子时都会调用自己一些时间

my_hash[:children] = my_replicating_function(some_values)

如何在不覆盖已写入的数据的情况下编写?

这就是整个函数的样子

def self.build_structure(candidates, reports_id)
 structure = Array.new
 candidates.each do |candidate, index|
  if candidate.reports_to == reports_id
    structure = candidate
    structure[:children] = Array.new
    structure[:children] = build_structure(candidates, candidate.candidate_id)
  end
 end
 structure
end

2 个答案:

答案 0 :(得分:3)

也许这个:

structure[:children] << build_structure(candidates, candidate.candidate_id)

答案 1 :(得分:2)

structure[:children] << build_structure(candidates, candidate.candidate_id)