lex(source, **options) -> Prism::ParseResultRuby 3.3 から[permalink][rdoc][edit]-
sourceを字句解析します。Ruby 3.3 の prism には字句解析専用の結果クラスがないため、戻り値は Prism::ParseResult のインスタンスです。valueは[トークン, 直前からの字句解析器の状態(Integer)]という 2 要素配列の配列です。これは Ripper の Ripper.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
- [PARAM]