るりまサーチ

最速Rubyリファレンスマニュアル検索!
33件ヒット [1-33件を表示] (0.018秒)
トップページ > クエリ:nil[x] > クエリ:end[x] > ライブラリ:ripper/lexer[x]

別のキーワード

  1. _builtin nil?
  2. nilclass nil?
  3. object nil?
  4. _builtin nil
  5. object nil

クラス

キーワード

検索結果

Ripper.slice(src, pattern, n = 0) -> String | nil (127.0)

Ruby プログラム src のうち、 パターン pattern の n 番目の括弧にマッチする文字列を取り出します。

...ラム src のうち、
パターン pattern の n 番目の括弧にマッチする文字列を取り出します。

マッチしない場合は nil を返します。

@param src Ruby プログラムを文字列か IO オブジェクトで指定します。

@param pattern 取り出すプログ...
...単位ではなくトークン単位で動作します。

使用例

require 'ripper'
p Ripper.slice(%(<<HERE\nstring\#{nil}\nHERE),
"heredoc_beg .*? nl $(.*?) heredoc_end", 1)
# => "string\#{nil}\n"

イベント ID は Ripper::SCANNER_EVENTS で確認できます。...

Ripper.lex(src, filename = &#39;-&#39;, lineno = 1, raise_errors: false) -> [[Integer, Integer], Symbol, String, Ripper::Lexer::State] (50.0)

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

...pper'

pp Ripper.lex("def m(a) nil end")
# => [[[1, 0], :on_kw, "def", FNAME],
# [[1, 3], :on_sp, " ", FNAME],
# [[1, 4], :on_ident, "m", ENDFN],
# [[1, 5], :on_lparen, "(", BEG|LABEL],
# [[1, 6], :on_ident, "a", ARG],
# [[1, 7], :on_rparen, ")", ENDFN],
# [[1, 8], :on_sp, "...
...", BEG],
# [[1, 9], :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 は分割したトークンを詳しい情報とともに返...

Ripper.lex(src, filename = &#39;-&#39;, lineno = 1) -> [[Integer, Integer], Symbol, String, Ripper::Lexer::State] (44.0)

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

...lex("def m(a) nil end")
# => [[[1, 0], :on_kw, "def", EXPR_FNAME],
# [[1, 3], :on_sp, " ", EXPR_FNAME],
# [[1, 4], :on_ident, "m", EXPR_ENDFN],
# [[1, 5], :on_lparen, "(", EXPR_BEG|EXPR_LABEL],
# [[1, 6], :on_ident, "a", EXPR_ARG],
# [[1, 7], :on_rparen, ")", EXPR_ENDFN],
# [...
...[1, 8], :on_sp, " ", EXPR_BEG],
# [[1, 9], :on_kw, "nil", EXPR_END],
# [[1, 12], :on_sp, " ", EXPR_END],
# on_kw, "end", EXPR_END
//}


Ripper.lex は分割したトークンを詳しい情報とともに返します。
返り値の配列の要素は 4 要素の配列 (概念的にはタ...
...pper'

pp Ripper.lex("def m(a) nil end")
# => [[[1, 0], :on_kw, "def", FNAME],
# [[1, 3], :on_sp, " ", FNAME],
# [[1, 4], :on_ident, "m", ENDFN],
# [[1, 5], :on_lparen, "(", BEG|LABEL],
# [[1, 6], :on_ident, "a", ARG],
# [[1, 7], :on_rparen, ")", ENDFN],
# [[1, 8], :on_sp, "...
...", BEG],
# [[1, 9], :on_kw, "nil", END],
# [[1, 12], :on_sp, " ", END],
# on_kw, "end", END
//}

Ripper.lex は分割したトークンを詳しい情報とともに返します。
返り値の配列の要素は 4 要素の配列 (概念的にはタプル) です。
その内訳を以下...

Ripper.tokenize(src, filename = &#39;-&#39;, lineno = 1, raise_errors: false) -> [String] (38.0)

Ruby プログラム str をトークンに分割し、そのリストを返します。

...る場合に発生します。

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

p Ripper.tokenize("def m(a) nil end")
# => ["def", " ", "m", "(", "a", ")", " ", "nil", " ", "end"]

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

Rip...
...per.tokenize は空白やコメントも含め、
元の文字列にある文字は 1 バイトも残さずに分割します。
ただし、ごく僅かな例外として、__END__ 以降の文字列は黙って捨てられます。
これは現在のところ仕様と考えてください。...

Ripper.tokenize(src, filename = &#39;-&#39;, lineno = 1) -> [String] (32.0)

Ruby プログラム str をトークンに分割し、そのリストを返します。

...r.tokenize("def m(a) nil end")
# => ["def", " ", "m", "(", "a", ")", " ", "nil", " ", "end"]
//}

Ripper.tokenize は空白やコメントも含め、
元の文字列にある文字は 1 バイトも残さずに分割します。
ただし、ごく僅かな例外として、__END__ 以降の文字...

絞り込み条件を変える

Ripper.lex(src, filename = &#39;-&#39;, lineno = 1) -> [[Integer, Integer], Symbol, String] (26.0)

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

...p Ripper.lex("def m(a) nil end")
# => [[[1, 0], :on_kw, "def"],
# [[1, 3], :on_sp, " "],
# [[1, 4], :on_ident, "m"],
# [[1, 5], :on_lparen, "("],
# [[1, 6], :on_ident, "a"],
# [[1, 7], :on_rparen, ")"],
# [[1, 8], :on_sp, " "],
# [[1, 9], :on_kw, "nil"],
# [[1, 12], :...
...on_sp, " "],
# on_kw, "end"
//}



Ripper.lex は分割したトークンを詳しい情報とともに返します。
返り値の配列の要素は 3 要素の配列 (概念的にはタプル) です。
その内訳を以下に示します。

: 位置情報 (Integer,Integer)
トークン...