Ruby 4.0 リファレンスマニュアル

class RubyVM::AbstractSyntaxTree::Location

[edit]

要約

抽象構文木のノード(RubyVM::AbstractSyntaxTree::Node)に関連づけられた位置情報を表すクラスです。

RubyVM::AbstractSyntaxTree::Node#locations で取得できます。

RubyVM::AbstractSyntaxTree と同様に MRI の実装の詳細を表す実験的な API であり、予告なしに変更される可能性があります。

目次

インスタンスメソッド

インスタンスメソッド

first_column -> IntegerRuby 3.4 から[permalink][rdoc][edit]

ソースコード中で、この位置情報が指す範囲が始まる列番号を返します。

列番号は0-originで、バイト単位で表されます。

loc = RubyVM::AbstractSyntaxTree.parse('1 + 2').locations.first
p loc.first_column # => 0
first_lineno -> IntegerRuby 3.4 から[permalink][rdoc][edit]

ソースコード中で、この位置情報が指す範囲が始まる行番号を返します。

行番号は1-originです。

loc = RubyVM::AbstractSyntaxTree.parse('1 + 2').locations.first
p loc.first_lineno # => 1
last_column -> IntegerRuby 3.4 から[permalink][rdoc][edit]

ソースコード中で、この位置情報が指す範囲が終わる列番号を返します。

列番号は0-originで、バイト単位で表されます。

loc = RubyVM::AbstractSyntaxTree.parse('1 + 2').locations.first
p loc.last_column # => 5
last_lineno -> IntegerRuby 3.4 から[permalink][rdoc][edit]

ソースコード中で、この位置情報が指す範囲が終わる行番号を返します。

行番号は1-originです。

loc = RubyVM::AbstractSyntaxTree.parse('1 + 2').locations.first
p loc.last_lineno # => 1