我有一个哈希,我正在尝试为它提取键和值。散列具有嵌套散列和/或散列数组。
在检查了这个网站和几个样本后,我得到了键和值。但是如果它是一个哈希数组,则难以提取。
例子:
{
:key1 => 'value1',
:key2 => 'value2',
:key3 => {
:key4 => [{:key4_1 => 'value4_1', :key4_2 => 'value4_2'}],
:key5 => 'value5'
},
:key6 => {
:key7 => [1,2,3],
:key8 => {
:key9 => 'value9'
}
}
}
到目前为止,我有以下代码,我如何循环遍历 ruby 中的哈希哈希并迭代 Ruby 中深度嵌套的哈希级别
def ihash(h)
h.each_pair do |k,v|
if v.is_a?(Hash) || v.is_a?(Array)
puts "key: #{k} recursing..."
ihash(v)
else
# MODIFY HERE! Look for what you want to find in the hash here
puts "key: #{k} value: #{v}"
end
end
end
但它在v.is_hash?(Array)
or处失败v.is_a?(Array)
。
我错过了什么吗?