別のキーワード
ライブラリ
- ビルトイン (60)
-
ripper
/ filter (12) - win32ole (60)
クラス
- TracePoint (36)
-
WIN32OLE
_ EVENT (24) -
WIN32OLE
_ TYPE (12)
モジュール
- Kernel (12)
キーワード
- Filter (12)
-
NEWS for Ruby 2
. 1 . 0 (12) -
NEWS for Ruby 2
. 2 . 0 (11) -
NEWS for Ruby 2
. 5 . 0 (8) - TracePoint (12)
-
WIN32OLE
_ EVENT (12) -
WIN32OLE
_ VARIABLE (12) -
default
_ event _ sources (12) - handler= (12)
- new (12)
-
rdoc
/ markdown (12) -
rexml
/ parsers / pullparser (12) -
ruby 1
. 8 . 3 feature (12) -
ruby 1
. 8 . 4 feature (12) -
set
_ trace _ func (12) - trace (12)
- tracer (12)
検索結果
先頭5件
-
NEWS for Ruby 2
. 2 . 0 (3051.0) -
NEWS for Ruby 2.2.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...NEWS for Ruby 2.2.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリス......トは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.1.0 以降の変更
=== 言語仕様の変更
* nil/true/false
* nil/true/false はフリーズされました 8923
* Hash リテラル
* 後ろにコロンのあるシンボルをキー......tracepoint_new() はCからアクセス可能な新しい内部的なイベントをサポートしました。r47528
* RUBY_INTERNAL_EVENT_GC_ENTER
* RUBY_INTERNAL_EVENT_GC_EXIT
* rb_hash_delete() は与えられたブロックを評価しなくなりました。
* rb_extract_keywords... -
WIN32OLE
_ EVENT . message _ loop -> () (3048.0) -
Windowsのメッセージポンプを実行します。
...xplorer.Application.1')
event = WIN32OLE_EVENT.new(ie, 'DWebBrowserEvents2')
b = false
event.on_event('DocumentComplete') do |disp, uri|
disp.document.getElementsByTagName('a').each do |e|
puts "#{e.innerHTML}=#{e.href}" #=> ダウンロード=http://www.ruby-lang.org/ja/downloads/......など
end
disp.quit
b = true
end
ie.Navigate2 'http://www.ruby-lang.org/ja/'
loop do
break if b
WIN32OLE_EVENT.message_loop
end
なお、メソッド名はloopですが、呼び出し時および既にキューイングされたメッ
セージの処理中にキュー......受信するまでループを実行する必要があります。このとき他のスレッ
ドに制御を与える必要があれば、Kernel.#sleepなどを呼び出してくださ
い。message_loopメソッドの呼び出し中はRubyのスレッドの切り替えは行われ
ません。... -
TracePoint
. new(*events) {|obj| . . . } -> TracePoint (148.0) -
新しい TracePoint オブジェクトを作成して返します。トレースを有効 にするには TracePoint#enable を実行してください。
...には TracePoint#enable を実行してください。
//emlist[例:irb で実行した場合][ruby]{
trace = TracePoint.new(:call) do |tp|
p [tp.lineno, tp.defined_class, tp.method_id, tp.event]
end
# => #<TracePoint:0x007f17372cdb20>
trace.enable
# => false
puts "Hello, TracePoint!"
# .........ier, :printf, :call]
# ...
//}
トレースを無効にするには TracePoint#disable を実行してください。
//emlist[][ruby]{
trace.disable
//}
@param events トレースするイベントを String か Symbol で任
意の数指定します。
: :line
式の評価。......への突入。
: :end
クラス定義、特異クラス定義、モジュール定義の終了。
: :call
Ruby で記述されたメソッドの呼び出し。
: :return
Ruby で記述されたメソッド呼び出しからのリターン。
: :c_call
C で記述されたメソッ... -
TracePoint
. trace(*events) {|obj| . . . } -> TracePoint (112.0) -
新しい TracePoint オブジェクトを作成して自動的にトレースを開始し ます。TracePoint.new のコンビニエンスメソッドです。
...@param events トレースするイベントを String か Symbol で任
意の数指定します。指定できる値については
TracePoint.new を参照してください。
//emlist[例][ruby]{
trace = TracePoint.trace(:call) { |tp| [tp.lineno, tp.event] }
# =>... -
Kernel
. # set _ trace _ func(proc) -> Proc (58.0) -
Ruby インタプリタのイベントをトレースする Proc オブジェクトとして 指定された proc を登録します。 nil を指定するとトレースがオフになります。
...
Ruby インタプリタのイベントをトレースする Proc オブジェクトとして
指定された proc を登録します。 nil を指定するとトレースがオフになります。
Ruby インタプリタがプログラムを実行する過程で、メソッドの呼び出しや......クパラメータの意味
渡す Proc オブジェクトのパラメータは
//emlist[][ruby]{
proc{|event, file, line, id, binding, klass| "..." }
//}
で、意味は以下の通りです。
: event
実行のタイプを表す、以下のいずれかの文字列。
//emlist{
"line":......グラムのソースファイル名 (文字列)。
: line
実行中のプログラムのソースファイル上の行番号 (整数)。
: id
event に応じ、以下のものが渡されます。
第六ブロック引数の klass と対応しています。
//emlist{
line
最後... -
Ripper
:: Filter (52.0) -
イベントドリブンスタイルで Ruby プログラムを加工するためのクラスです。
...ブンスタイルで Ruby プログラムを加工するためのクラスです。
このクラスを継承して、必要なイベントに対応するメソッドを定義して使用し
ます。
=== 使用例
//emlist[][ruby]{
require 'ripper'
require 'cgi'
class Ruby2HTML < Ripper::Filter......peHTML(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 にして返します。... -
TracePoint (30.0)
-
Kernel.#set_trace_func と同様の機能をオブジェクト指向的な API で 提供するクラスです。
...クト指向的な API で
提供するクラスです。
//emlist[例:例外に関する情報を収集する][ruby]{
trace = TracePoint.new(:raise) do |tp|
p [tp.lineno, tp.event, tp.raised_exception]
end
# => #<TracePoint:0x007f786a452448>
trace.enable
# => false
0 / 0
# => [5, :raise, #<Zer......さ
い。
=== 参考
* Ruby VM アドベントカレンダー #12 TracePoint の紹介 (1): https://www.atdot.net/~ko1/diary/201212.html#d12
* Ruby VM アドベントカレンダー #13 TracePoint の紹介 (2): https://www.atdot.net/~ko1/diary/201212.html#d13
* Ruby VM アドベントカレ... -
rexml
/ parsers / pullparser (24.0) -
プル方式の XML パーサ。
...。
pull は REXML::Parsers::PullEvent オブジェクトを返します。
このオブジェクトの
REXML::Parsers::PullEvent#event_type で「開始タグ」「終了タグ」
といったイベントの種類を取得します。
REXML::Parsers::PullEvent#[] でそのイベントのパラメ......ことができます。
===[a:event_type] イベントの種類とパラメータ
REXML::Parsers::PullEvent#event_type で得られるイベントの種類の
シンボルを列挙しています。
これらのうちのいくつかは、
REXML::Parsers::PullEvent#start_element? などのメソ......andalone ("yes" | "no" | nil))
XML宣言
: externalentity (エンティティ文字列)
doctype内のパラメータ実体参照。
//emlist[][ruby]{
require 'rexml/parsers/pullparser'
xml = <<EOS
<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/css" href="style.css"?>
<!DOCT... -
tracer (24.0)
-
実行トレース出力をとる機能を提供します。
...は以下のようにコマンドラインから Kernel.#require する方法です。
hoge.rb の実行をすべてトレース出力します。
ruby -rtracer hoge.rb
もうひとつはソースからrequireする方法です。
require 'tracer'
とした後
Tracer.on
によりトレ......される時、トレースする。
# ruby 1.8 では警告がでますが、動作します。
require 'tracer'
class Hoge
def Hoge.fuga(i)
"fuga #{i}"
end
end
Tracer.add_filter {|event, file, line, id, binding, klass|
event =~ /line/ and klass.to_s =~ /hoge/i
}... -
WIN32OLE
_ VARIABLE (22.0) -
OLEオートメーションの変数情報をRubyで参照するためのクラスです。
...OLEオートメーションの変数情報をRubyで参照するためのクラスです。
OLEオートメーションサーバは、定数(WIN32OLE.const_load)、メソッ
ド/プロパティ(WIN32OLE_METHOD)、イベント(WIN32OLE_EVENT)
のほかに変数をクライアントへ提...