class Prism::Visitor

访问者是一个类,它为节点上定义的每个 accept 方法提供默认实现。这意味着它可以遍历树而无需调用者定义任何特殊处理。 这允许您处理树的子集,同时仍然遍历整个树。

例如,要查找所有调用 'foo' 方法的方法调用,您可以编写

class FooCalls < Prism::Visitor
  def visit_call_node(node)
    if node.name == "foo"
      # Do something with the node
    end

    # Call super so that the visitor continues walking the tree
    super
  end
end