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

module function Prism?.lex_compat

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

source を字句解析し、RipperRipper.lex に近い形式のトークン列を持つ結果オブジェクトを返します。

戻り値は内部クラス Prism::LexCompat::Result のインスタンスです。value は各要素が [[行, 桁], 種類を表すシンボル, 文字列, 状態] という形式になっている配列で、Ripper.lex の戻り値に近い形式です。Prism?.lex が返す Prism::Token とは異なり、Ripper 互換の配列形式でトークンを扱いたい場合に使います。オプションは Prism?.parse と同じです。

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

result = Prism.lex_compat("1 + 2")
p result.value.first
# => [[1, 0], :on_int, "1", END]

[SEE_ALSO] Prism?.lex, Ripper