Class: Rubies::MyHash

Inherits:
Hash
  • Object
show all
Defined in:
lib/rubies/random_hash.rb

Direct Known Subclasses

RandomHash

Instance Method Summary collapse

Instance Method Details

#deep_traverse(&block) ⇒ Object



3
4
5
6
7
8
9
10
11
12
# File 'lib/rubies/random_hash.rb', line 3

def deep_traverse(&block)
  stack = self.map { |k, v| [[k], v] }
  while not stack.empty?
    key, value = stack.pop
    yield(key, value)
    if value.is_a? Hash
      value.each { |k, v| stack.push [key.dup << k, v] }
    end
  end
end