Skip to content

End of Life Ruby 3.0 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →

class method

RubyVM::AbstractSyntaxTree.of

RubyVM::AbstractSyntaxTree.of(proc) → RubyVM::AbstractSyntaxTree::Node
RubyVM::AbstractSyntaxTree.of(method) → RubyVM::AbstractSyntaxTree::Node

Returns AST nodes of the given proc or method.

Example
RubyVM::AbstractSyntaxTree.of(proc {1 + 2})
# => #<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:35-1:42>

def hello
  puts "hello, world"
end

RubyVM::AbstractSyntaxTree.of(method(:hello))
# => #<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-3:3>
See also .parse .parse_file also in 4.1 · 4.0 · 3.4 · 3.3 · 3.2 · 3.1