るりまサーチ

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

別のキーワード

  1. ripper scanner_events
  2. ripper scanner_event_table
  3. scanner_events ripper
  4. scanner_event_table ripper

ライブラリ

クラス

キーワード

検索結果

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

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

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

Ripper::Filter (9006.0)

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

...=== 使用例

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

class Ruby2HTML < Ripper::Filter
def on_default(event, tok, f)
f << CGI.escapeHTML(tok)
e
nd

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

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

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

Ruby2HTML.new(ARGF).parse('')
//}

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

上記の例では、parse メソッドに渡した空文字列を初期値として、イベントハ
ンドラが ARGF で渡された Ruby プログラムを HTML にして返します。...

Ripper::Filter#on_XXX(token, data) -> object (6112.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...

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

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

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

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

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

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

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

使用例

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

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