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

module function Prism?.lex_file

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

filepath で指定したファイルを字句解析します。戻り値の形式は Prism?.lex と同じです。オプションは Prism?.parse と同じです。

[PARAM] filepath:
解析する Ruby プログラムのファイルパスを指定します。
[PARAM] options:
Prism?.parse を参照してください。
require "prism"

File.write("sample.rb", "def foo(a, b) = a + b\n")

result = Prism.lex_file("sample.rb")
p result.class
# => Prism::LexResult
p result.value.map { |token, _state| token.type }
# => [:KEYWORD_DEF, :IDENTIFIER, :PARENTHESIS_LEFT, :IDENTIFIER, :COMMA,
#     :IDENTIFIER, :PARENTHESIS_RIGHT, :EQUAL, :IDENTIFIER, :PLUS,
#     :IDENTIFIER, :NEWLINE, :EOF]

[SEE_ALSO] Prism?.lex