内比方说,我有这样一个Hash:把每个哈希元素的数组的Ruby
my_hash = {"a"=>{"a1"=>"b1"}, "b"=>"b", "c"=>{"c1"=>{"c2"=>"c3"}}}
而且我想转换哈希内的每个元素也哈希放置的内数组。
例如,我要完成的哈希看起来像这样:
{"a"=>[{"a1"=>"b1"}], "b"=>"b", "c"=>[{"c1"=>[{"c2"=>"c3"}]}]}
这是我到目前为止已经试过,但我需要它来递归地工作,我不太清楚如何使这项工作:
my_hash.each do |k,v|
if v.class == Hash
my_hash[k] = [] << v
end
end
=> {"a"=>[{"a1"=>"b1"}], "b"=>"b", "c"=>[{"c1"=>{"c2"=>"c3"}}]}
@sergiotulentsev,现在两个答案都被删除。两者都应该变成社区wiki的答案。 –
@TheTinMan:嗯,我看到一个人仍然站着。不需要两者都有。 –
@SergioTulentsev,是的,其他人在评论交换后立即取消删除。 –