class Rubies::MyHash
Public Instance Methods
deep_traverse() { |key, value| ... }
click to toggle source
# 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