Ruby 3.2 リファレンスマニュアル > ライブラリ一覧 > ripper/filterライブラリ > Ripper::Filterクラス
クラス・モジュールの継承リスト: Ripper::Filter < Object < Kernel < BasicObject
イベントドリブンスタイルで 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="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
Ruby2HTML.new(ARGF).parse('')
Ruby プログラムを解析して、Ripper::SCANNER_EVENTS にあるスキャナイベントを実行します。イベントはプログラムに書いた順番で実行されます。
上記の例では、parse メソッドに渡した空文字列を初期値として、イベントハンドラが ARGF で渡された Ruby プログラムを HTML にして返します。
定義 | 説明 | |
---|---|---|
new(src, filename = '-', lineno = 1) -> Ripper::Filter
|
Ripper::Filter オブジェクトを作成します。 |
定義 | 説明 | |
---|---|---|
column -> Integer | nil
|
現在のトークンの桁番号を 0 から始まる数値で返します。 |
|
filename -> String
|
Ruby プログラムのファイル名を文字列で返します。 |
|
lineno -> Integer | nil
|
現在のトークンの行番号を 1 から始まる数値で返します。 |
|
parse(init = nil) -> object
|
自身の持つ Ruby プログラムの解析を開始します。各種イベントハンドラで処理を行った結果を返します。 |
定義 | 説明 | |
---|---|---|
on_XXX(token, data) -> object
|
各種スキャナイベントを実行します。 |
|
on_default(event, token, data) -> object
|
イベントハンドラが未定義のイベントが実行された場合に実行されるイベントハンドラです。 |
!
!=
__id__
__send__
instance_eval
instance_exec
method_missing
singleton_method_added
singleton_method_removed
singleton_method_undefined
!~
<=>
==
===
_dump
class
clone
define_singleton_method
display
enum_for
eql?
equal?
extend
freeze
frozen?
hash
initialize
initialize_copy
inspect
instance_of?
instance_variable_defined?
instance_variable_get
instance_variable_set
instance_variables
is_a?
itself
marshal_dump
marshal_load
method
methods
nil?
object_id
pretty_inspect
pretty_print
pretty_print_cycle
pretty_print_inspect
pretty_print_instance_variables
private_methods
protected_methods
psych_to_yaml
public_method
public_methods
public_send
remove_instance_variable
respond_to?
respond_to_missing?
send
singleton_class
singleton_method
singleton_methods
tap
then
to_a
to_ary
to_hash
to_int
to_io
to_proc
to_regexp
to_s
to_str
.yaml_tag
::ARGF
::ARGV
::DATA
::ENV
::RUBY_COPYRIGHT
::RUBY_DESCRIPTION
::RUBY_ENGINE
::RUBY_ENGINE_VERSION
::RUBY_PATCHLEVEL
::RUBY_PLATFORM
::RUBY_RELEASE_DATE
::RUBY_REVISION
::RUBY_VERSION
::SCRIPT_LINES__
::STDERR
::STDIN
::STDOUT
::TOPLEVEL_BINDING