在没有循环的ruby中打印嵌套散列中的键的值

时间:2016-11-06 16:45:41

标签: ruby hash

irb(main):024:0> outer_hash={:x=>in_hash, :y=>another_in_hash}
=> {:x=>{:a=>1, :b=>2, :c=>3}, :y=>{:l=>4, :m=>5, :n=>6}}
  

我希望在没有循环的情况下打印内部哈希键和值。

2 个答案:

答案 0 :(得分:0)

回答所陈述的确切问题:

▶ hash.inspect.gsub(/:\w+=>{/, '').gsub(/[{}:>]/, '')
#⇒ "a=1, b=2, c=3, l=4, m=5, n=6"

答案 1 :(得分:0)

我认为你要求这样的事情:

>> outer_hash.map { |_,v| v }
=> [{:a=>1, :b=>2, :c=>3}, {:l=>4, :m=>5, :n=>6}]

或者这个:

>> outer_hash.map { |_,v| v.to_a }
=> [[[:a, 1], [:b, 2], [:c, 3]], [[:l, 4], [:m, 5], [:n, 6]]]