класс 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
Ruby Core © 1993–2022 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.