るりまサーチ

最速Rubyリファレンスマニュアル検索!
44件ヒット [1-44件を表示] (0.157秒)
トップページ > クエリ:I[x] > クエリ:r[x] > クエリ:Ripper[x] > クエリ:SCANNER_EVENTS[x]

別のキーワード

  1. ripper parse
  2. ripper/lexer tokenize
  3. ripper/lexer lex
  4. ripper scanner_events
  5. ripper parser_events

ライブラリ

クラス

キーワード

検索結果

Ripper::SCANNER_EVENTS -> [Symbol] (48201.0)

スキャナイベントのイベント ID (シンボル) のリストを返します。

...スキャナイベントのイベント ID (シンボル) のリストを返します。...

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

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

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

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

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

@param pattern 取り...
...@param n pattern で指定した文字列の内、n 番目の括弧の中の文字列だけが必
要な時に指定します。省略すると 0 (pattern 全体)になります。

pattern は Ripper のイベント ID のリストを文字列で記述します。
また pattern には Rub...
...単位ではなくトークン単位で動作します。

使用例

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

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

Ripper::Filter (15024.0)

イベントドリブンスタイルで Ruby プログラムを加工するためのクラスです。

...イルで Ruby プログラムを加工するためのクラスです。

このクラスを継承して、必要なイベントに対応するメソッドを定義して使用し
ます。

=== 使用例

//emlist[][ruby]{
r
equire 'ripper'
r
equire 'cgi'

class Ruby2HTML < Ripper::Filter
def on_de...
...GI.escapeHTML(tok)
end

def on_comment(tok, f)
f << %Q[<span class="comment">#{CGI.escapeHTML(tok)}</span>]
end

def on_tstring_beg(tok, f)
f << %Q[<span class="string">#{CGI.escapeHTML(tok)}]
end

def on_tstring_end(tok, f)
f << %Q[#{CGI.escapeHTML(tok)}</span>]
end
end

R
...
...uby2HTML.new(ARGF).parse('')
//}

R
uby プログラムを解析して、Ripper::SCANNER_EVENTS にあるスキャナ
イベントを実行します。イベントはプログラムに書いた順番で実行されます。

上記の例では、parse メソッドに渡した空文字列を初期値...

Ripper::Filter#on_XXX(token, data) -> object (9042.0)

各種スキャナイベントを実行します。

...部分を
Ripper
::SCANNER_EVENTS にあるスキャナイベントに読み替えてください。

@param token 現在のトークンが指定されます。

@param data 前のイベントハンドラの戻り値です。最初のイベントの場合は
Ripper
::Filter#parse の引数...
...になります。

オーバライドしなかった場合は on_default が実行されます。

このメソッドの戻り値は次のイベントハンドラの data 引数に渡されます。

@see Ripper::Filter#parse, Ripper::Filter#on_default, Ripper::SCANNER_EVENTS...