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

module function Prism?.lex

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

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

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

result = Prism.lex("1 + 2")
p result.class   # => Prism::LexResult
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