るりまサーチ (Ruby 2.6.0)

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

別のキーワード

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

クラス

キーワード

検索結果

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

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

...目の括弧の中の文字列だけが必
要な時に指定します。省略すると 0 (pattern 全体)になります。

pattern は Ripper のイベント ID のリストを文字列で記述します。
また pattern には Ruby の正規表現と同じメタ文字も使えます...
...単位ではなくトークン単位で動作します。

使用例

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

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

Ripper#parse -> nil (358.0)

自身の持つ Ruby プログラムを解析します。常に nil を返します。

...ライドして使用します。Ruby プログラムの解析は行います
が、そのままでは解析結果は利用できません。サブクラスでイベントハンドラ
の定義や本メソッドの戻り値の追加などで対応する必要があります。

@see Ripper.parse...

Ripper.parse(src, filename = &#39;(ripper)&#39;, lineno = 1) -> nil (358.0)

指定された文字列を解析します。常に nil を返します。

...ラムを文字列か IO オブジェクトで指定します。

@param filename src のファイル名を文字列で指定します。省略すると "(ripper)" になります。

@param lineno src の開始行番号を指定します。省略すると 1 になります。

@see Ripper#parse...

Ripper#column -> Integer | nil (310.0)

現在のトークンの桁番号を 0 から始まる数値で返します。

現在のトークンの桁番号を 0 から始まる数値で返します。

このメソッドはイベントハンドラの中でのみ意味のある値を返します。イベン
トハンドラの中で self.column を実行してください。

Ripper#compile_error(msg) -> nil (310.0)

解析した Ruby プログラムの中にコンパイルエラーがあった場合に実行されま す。

解析した Ruby プログラムの中にコンパイルエラーがあった場合に実行されま
す。

@param msg エラーメッセージ。

サブクラスでオーバライドして使用します。

絞り込み条件を変える

Ripper#lineno -> Integer | nil (310.0)

現在のトークンの行番号を 1 から始まる数値で返します。

現在のトークンの行番号を 1 から始まる数値で返します。

このメソッドはイベントハンドラの中でのみ意味のある値を返します。イベン
トハンドラの中で self.lineno を実行してください。

Ripper#warn(fmt, *args) -> nil (310.0)

解析した Ruby プログラムの中に警告($-w が true の時だけ出力される 警告)を出力するようなものがあった場合に実行されます。

解析した Ruby プログラムの中に警告($-w が true の時だけ出力される
警告)を出力するようなものがあった場合に実行されます。

@param fmt エラーメッセージのフォーマット文字列です。

@param args エラーメッセージのフォーマットされる引数です。

サブクラスでオーバライドして使用します。

引数のエラーメッセージは printf フォーマットに従って渡されます。

Ripper#warning(fmt, *args) -> nil (310.0)

解析した Ruby プログラムの中に重要な警告($-w が false の時だけ出 力される警告)を出力するようなものがあった場合に実行されます。

解析した Ruby プログラムの中に重要な警告($-w が false の時だけ出
力される警告)を出力するようなものがあった場合に実行されます。

@param fmt エラーメッセージのフォーマット文字列です。

@param args エラーメッセージのフォーマットされる引数です。

サブクラスでオーバライドして使用します。

引数のエラーメッセージは printf フォーマットに従って渡されます。

Ripper.token_match(src, pattern) -> Ripper::TokenPattern::MatchData | nil (307.0)

Ruby プログラム src に対してパターン pattern をマッチし、 マッチデータを返します。

Ruby プログラム src に対してパターン pattern をマッチし、
マッチデータを返します。

ライブラリ内部で使用します。

Ripper::Filter#column -> Integer | nil (307.0)

現在のトークンの桁番号を 0 から始まる数値で返します。

現在のトークンの桁番号を 0 から始まる数値で返します。

このメソッドはイベントハンドラの中でのみ意味のある値を返します。イベン
トハンドラの中で self.column を実行してください。

絞り込み条件を変える

Ripper::Filter#lineno -> Integer | nil (307.0)

現在のトークンの行番号を 1 から始まる数値で返します。

現在のトークンの行番号を 1 から始まる数値で返します。

このメソッドはイベントハンドラの中でのみ意味のある値を返します。イベン
トハンドラの中で self.lineno を実行してください。

Ripper::Filter#parse(init = nil) -> object (307.0)

自身の持つ Ruby プログラムの解析を開始します。各種イベントハンドラで処 理を行った結果を返します。

...てイベントハンドラに渡されていきます。各種イベン
トハンドラの戻り値は次のイベントハンドラに渡されます。
Enumerable#inject のように、最終的な結果を戻り値として返します。

@see Ripper::Filter#on_default, Ripper::Filter#on_XXX...

Ripper.sexp(src, filename = &#39;-&#39;, lineno = 1) -> object (166.0)

Ruby プログラム str を解析して S 式のツリーにして返します。

...結果は、括弧の代わりに配列の要素として S 式のツリーを表現しています。

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

pp Ripper.sexp("def m(a) nil end")
# => [:program,
# [[:def,
# [:@ident, "m", [1, 4]],
# [:paren, [:params, [[:@ident, "a", [1,...
...形式になります。

[:@イベント名, トークン, 位置情報(行、桁の配列)]

例:

[:@ident, "m", [1, 4]]

また、Ripper.sexp は Ripper.sexp_raw とは異なり、読みやすさのため
に stmts_add や stmts_new のような _add、_new で終わるパーサイベント...
...
省略します。_add で終わるパーサイベントはハンドラの引数が 0 個のものが
省略されます。詳しくは Ripper::PARSER_EVENTS を確認してください。

@see Ripper.sexp_raw...

Ripper.sexp_raw(src, filename = &#39;-&#39;, lineno = 1) -> object (148.0)

Ruby プログラム str を解析して S 式のツリーにして返します。

...結果は、括弧の代わりに配列の要素として S 式のツリーを表現しています。

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

pp Ripper.sexp_raw("def m(a) nil end")
# => [:program,
# [:stmts_add,
# [:stmts_new],
# [:def,
# [:@ident, "m", [1, 4]],
#...
...n, [:params, [[:@ident, "a", [1, 6]]], nil, nil, nil]],
# [:bodystmt,
# [:stmts_add, [:stmts_new], [:var_ref, [:@kw, "nil", [1, 9]]]],
# nil,
# nil,
# nil]]]]
//}

Ripper
.sexp_raw は Ripper.sexp とは異なり解析結果を加工しません。

@see Ripper.sexp...

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

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

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

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

@param filename src...
...なります。

@param lineno src の開始行番号を指定します。省略すると 1 になります。



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

pp Ripper.lex("def m(a) nil end")
# => [[[1, 0], :on_kw, "def", EXPR_FNAME],
# [[1, 3], :on_sp, " ", EXPR_FNAME],
# [[1, 4], :on_ident, "m", E...
...[[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 要素の配列 (概念的には...

絞り込み条件を変える

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

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

...号を指定します。省略すると 1 になります。


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

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

Ripper
.tokenize は空白やコメントも含め、
元の文字列にある文字は 1 バイ...