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

instance method Prism::ParseResult#value

value -> Prism::ProgramNodeRuby 3.3 から[permalink][rdoc][edit]

構文解析によって得られた構文木のルートノードを返します。 Prism.#parsePrism.#parse_file の戻り値として得られる Prism::ParseResult では、これは常に Prism::ProgramNode (Prism::Node のサブクラス)のインスタンスです。

構文エラーがあった場合でも nil にはならず、prism が構築できた範囲の構文木が返ります。エラーの有無は Prism::ParseResult#success? で確認してください。

require "prism"

result = Prism.parse("1 + 2")
p result.value.class # => Prism::ProgramNode

result = Prism.parse("1 +")
p result.value.class # => Prism::ProgramNode (エラーがあっても構文木は返る)