るりまサーチ

最速Rubyリファレンスマニュアル検索!
4件ヒット [1-4件を表示] (0.010秒)

別のキーワード

  1. _builtin syntaxerror
  2. syntaxerror line
  3. syntaxerror file
  4. syntaxerror offset
  5. syntaxerror column

ライブラリ

クラス

検索結果

Ripper.lex(src, filename = '-', lineno = 1, raise_errors: false) -> [[Integer, Integer], Symbol, String, Ripper::Lexer::State] (18237.0)

Ruby プログラム str をトークンに分割し、そのリストを返します。 ただし Ripper.tokenize と違い、トークンの種類と位置情報も付属します。

...ラーがある場合に例外(SyntaxError)を発生させます。省略すると false になります。

@raise SyntaxError raise_errors が true で、src に文法エラーがある場合に発生します。



//emlist[][ruby]{
require 'ripper'

pp Ripper.lex("def m(a) nil end")
# => [[[1, 0...
...on_kw, "nil", END],
# [[1, 12], :on_sp, " ", END],
# on_kw, "end", END

Ripper.lex("def req(true) end", raise_errors: true)
# => SyntaxError (syntax error, unexpected `true', expecting ')')
//}

Ripper.lex は分割したトークンを詳しい情報とともに返します。
返り値の...
...です。
: 種類 (Symbol)
トークンの種類が「:on_XXX」の形式のシンボルで渡されます。
: トークン (String)
トークン文字列です。
: ステート (Ripper::Lexer::State)
トークンの状態を表す Ripper::Lexer::State のインスタンスです。...