class YARP::Pattern
def scan(root)
def scan(root) return to_enum(__method__, root) unless block_given? @compiled ||= compile queue = [root] while (node = queue.shift) yield node if @compiled.call(node) queue.concat(node.child_nodes.compact) end end
def scan(root) return to_enum(__method__, root) unless block_given? @compiled ||= compile queue = [root] while (node = queue.shift) yield node if @compiled.call(node) queue.concat(node.child_nodes.compact) end end