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

module function Prism.#lex

lex(source, **options) -> Prism::ParseResultRuby 3.3 から[permalink][rdoc][edit]

source を字句解析します。Ruby 3.3 の prism には字句解析専用の結果クラスがないため、戻り値は Prism::ParseResult のインスタンスです。 value[トークン, 直前からの字句解析器の状態(Integer)] という 2 要素配列の配列です。これは RipperRipper.lex の戻り値の形式に近いものになっています。オプションは Prism.#parse と同じです。

[PARAM] source:
解析する Ruby プログラムの文字列を指定します。
[PARAM] options:
Prism.#parse を参照してください。
require "prism"

result = Prism.lex("1 + 2")
result.value.each { |token, state| p [token.type, token.value, state] }
# => [:INTEGER, "1", 2]
# => [:PLUS, "+", 1]
# => [:INTEGER, "2", 2]
# => [:EOF, "", 2]

[SEE_ALSO] Prism.#parse, Ripper