Как упростить это в Ruby? - PullRequest
1 голос
/ 07 марта 2011

Есть ли лучший способ сделать то же самое?

objects = []
outer_h.values.each do |inner_h|
  inner_h.values.each do |obj|
    objects << obj
  end
end

Я использую Ruby 1.9.2.

Ответы [ 2 ]

5 голосов
/ 07 марта 2011

objects = outer_h.values.map(&:values).flatten будет работать:

h = {
  1 => { :foo => "bar", :bar => "baz" },
  2 => { :foo => "rab", :bar => "zab" },
}

h.values.map(&:values).flatten  #=> ["bar", "baz", "rab", "zab"] 
0 голосов
/ 07 марта 2011

Как насчет external_h.flatten?Я думаю, что это может работать только для массивов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...