Tôi có một hàm băm, tôi đang cố trích xuất các khóa và giá trị cho nó. Hàm băm có băm và/hoặc mảng băm được lồng vào nhau.Lặp lại hàm băm lồng nhau có chứa hàm băm và/hoặc mảng
Sau khi kiểm tra trang web này và một số mẫu tôi nhận được khóa và giá trị. Nhưng gặp khó khăn trong việc giải nén nếu nó là một mảng băm.
Ví dụ:
{
:key1 => 'value1',
:key2 => 'value2',
:key3 => {
:key4 => [{:key4_1 => 'value4_1', :key4_2 => 'value4_2'}],
:key5 => 'value5'
},
:key6 => {
:key7 => [1,2,3],
:key8 => {
:key9 => 'value9'
}
}
}
Cho đến nay tôi có dưới đây mã từ how do i loop over a hash of hashes in ruby và Iterate over an deeply nested level of hashes in 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
Nhưng nó không thành công tại v.is_hash?(Array)
hoặc v.is_a?(Array)
.
Tôi có thiếu gì đó không?
kết quả mong muốn của bạn là gì? –