ruby - 如何在 Ruby 中简化这个?

标签 ruby hash

有没有更好的方法来做同样的事情?

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

我使用 Ruby 1.9.2。

最佳答案

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"] 

关于ruby - 如何在 Ruby 中简化这个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5216021/

相关文章:

Java 8 哈希集错误

arrays - 创建对哈希值的数组引用

Ruby:合并包含数组的哈希

c# - 根据任何给定的字符串生成整数(没有 GetHashCode)

ruby-on-rails - 如果 RecordNotFound 赋值

mysql - `require' : Incorrect MySQL client library version

ruby - respond_to?() 来自脚本的顶层

mysql - SQL在Rails中查询的位置

ruby - 如何在 Ruby 中丢弃浮点精度

ruby - 在 Ruby 中重新映射哈希的最佳方法是什么?