84件ヒット
[1-84件を表示]
(0.013秒)
種類
- 定数 (36)
- 特異メソッド (24)
- クラス (12)
- インスタンスメソッド (12)
ライブラリ
- ripper (36)
-
ripper
/ filter (24) -
ripper
/ lexer (12) -
ripper
/ sexp (12)
クラス
- Ripper (60)
-
Ripper
:: Filter (12)
キーワード
- Filter (12)
-
PARSER
_ EVENTS (12) -
SCANNER
_ EVENTS (12) -
on
_ XXX (12) - sexp (12)
- slice (12)
検索結果
先頭5件
-
Ripper
:: EVENTS -> [Symbol] (35117.0) -
ripper の扱う全てのイベント ID (シンボル) のリストを返します。
...
ripper の扱う全てのイベント ID (シンボル) のリストを返します。... -
Ripper
:: PARSER _ EVENTS -> [Symbol] (23101.0) -
パーサイベントのイベント ID (シンボル) のリストを返します。
パーサイベントのイベント ID (シンボル) のリストを返します。 -
Ripper
:: SCANNER _ EVENTS -> [Symbol] (23101.0) -
スキャナイベントのイベント ID (シンボル) のリストを返します。
スキャナイベントのイベント ID (シンボル) のリストを返します。 -
Ripper
. sexp(src , filename = & # 39;-& # 39; , lineno = 1) -> object (9043.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
. slice(src , pattern , n = 0) -> String | nil (9031.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
:: Filter # on _ XXX(token , data) -> object (3042.0) -
各種スキャナイベントを実行します。
...XX」の部分を
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
:: Filter (3024.0) -
イベントドリブンスタイルで Ruby プログラムを加工するためのクラスです。
...必要なイベントに対応するメソッドを定義して使用し
ます。
=== 使用例
//emlist[][ruby]{
require 'ripper'
require 'cgi'
class Ruby2HTML < Ripper::Filter
def on_default(event, tok, f)
f << CGI.escapeHTML(tok)
end
def on_comment(tok, f)
f << %Q[<span class="......end(tok, f)
f << %Q[#{CGI.escapeHTML(tok)}</span>]
end
end
Ruby2HTML.new(ARGF).parse('')
//}
Ruby プログラムを解析して、Ripper::SCANNER_EVENTS にあるスキャナ
イベントを実行します。イベントはプログラムに書いた順番で実行されます。
上記の...