Я новичок в ruby на рельсах и пытаюсь сделать что-то вроде: у меня есть хеш
hash1 = {"a"=>"1","b"=>{"c"=>"3","d"=>{"e"=>"5"}},"f"=>"6","g"=>{"h"=>"7","i"=>"8"}}
Затем я использовал рекурсивный метод для чтения пары ключ-значение, как показано ниже:
def traverse_hash_recursively(words)
words.each_pair do |key,value|
if value.is_a?(String)
puts "#{key}=>#{value}"
else
traverse_hash_recursively(value)
end
end
end
вызвал метод, описанный выше, следующим образом:
traverse_hash_recursively(hash1)
, и результат выглядит так:
a=>1
c=>3
e=>5
f=>6
h=>7
i=>8
Но это не тот вывод, который я искал, яхочу выводить как
hash[a]=1
hash[b][c]=3
hash[b][d][e]=5
hash[f]=6
hash[g][h]=7
hash[g][i]=8
Я знаю, что я написал в коде, даст мне вывод, который я получил, но как я получу желаемый вывод?Кто-нибудь может помочь?