KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
So I have a hash, and for each level of the hash, I want to store its key and value. The problem is, a value can be another hash array. Furthermore, that hash can contain key value pairs where the value is again another hash array, etc, etc. Also, I won't know how deeply nested each hash will be. To give an example: { :key1 => 'value1', :key2 => 'value2', :key3 => { :key4 => 'value4', :key5 => 'value5' }, :key6 => { :key7 => 'value7', :key8 => { :key9 => 'value9' } } } ..And so on. What I want to do is save each key, value pair and the id of its parent. I figure this will probably be done recursively, I'm just unsure how because I'm unfamiliar with recursive functions. I know how to iterate through the data normally: myHash.each {|key, value| ...Do something with the key and value ... } And so I'm guessing the recursive call will be something like this: def save_pair (myHash) myHash.each {|key, value| if(value.class != Hash) ? Pair.create(key, value) : save_pair(value) } end This is untested, and I'm still unsure how to incorporate saving the parent ids regardless.
Tags (comma-separated)
Save Edits
Cancel