モジュール
- Kernel (44)
- ObjectSpace (33)
キーワード
-
count
_ tdata _ objects (11) -
define
_ finalizer (22) - eval (22)
-
set
_ trace _ func (11)
検索結果
先頭5件
-
Kernel
. # binding -> Binding (21337.0) -
変数・メソッドなどの環境情報を含んだ Binding オブジェクトを 生成して返します。通常、Kernel.#eval の第二引数として使います。
...変数・メソッドなどの環境情報を含んだ Binding オブジェクトを
生成して返します。通常、Kernel.#eval の第二引数として使います。
//emlist[例][ruby]{
def foo
a = 1
binding
end
eval("p a", foo) #=> 1
//}
@see Kernel.#eval,Object::TOPLEVEL_BINDING... -
Kernel
. # set _ trace _ func(proc) -> Proc (6373.0) -
Ruby インタプリタのイベントをトレースする Proc オブジェクトとして 指定された proc を登録します。 nil を指定するとトレースがオフになります。
...
Ruby インタプリタのイベントをトレースする Proc オブジェクトとして
指定された proc を登録します。 nil を指定するとトレースがオフになります。
Ruby インタプリタがプログラムを実行する過程で、メソッドの呼び出しや......録された Proc オブジェクトを実行します。
標準添付の debug、tracer、
profile はこの組み込み関数を利用して実現されています。
=== ブロックパラメータの意味
渡す Proc オブジェクトのパラメータは
//emlist[][ruby]{
proc{|event, fil......{
"line": 式の評価。
"call": メソッドの呼び出し。
"return": メソッド呼び出しからのリターン。
"c-call": Cで記述されたメソッドの呼び出し。
"c-return": Cで記述されたメソッド呼び出しからのリターン。
"class"... -
ObjectSpace
. # define _ finalizer(obj) {|id| . . . } -> Array (6231.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。
ブロックを指定した場......ナライザを登録するのは難しいでしょう。
@param obj ファイナライザを登録したいオブジェクトを指定します。
@param proc ファイナライザとして Proc オブジェクトを指定します。proc は obj の回収時に obj の ID を引数として実......方の注意
以下は、define_finalizer の使い方の悪い例です。
//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"
}
end
end
Foo.new
GC.start
//}
これは、渡された proc の self が obj を参照しつ
づける... -
ObjectSpace
. # define _ finalizer(obj , proc) -> Array (6231.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
...obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。
ブロックを指定した場......ナライザを登録するのは難しいでしょう。
@param obj ファイナライザを登録したいオブジェクトを指定します。
@param proc ファイナライザとして Proc オブジェクトを指定します。proc は obj の回収時に obj の ID を引数として実......方の注意
以下は、define_finalizer の使い方の悪い例です。
//emlist[悪い例][ruby]{
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"
}
end
end
Foo.new
GC.start
//}
これは、渡された proc の self が obj を参照しつ
づける... -
Kernel
. # eval(expr) -> object (3269.0) -
文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Binding オブジェクトを与えた場合、 そのオブジェクトを生成したコンテキストで文字列を評価します。
...文字列 expr を Ruby プログラムとして評価してその結果を返しま
す。第2引数に
Binding オブジェクトを与えた場合、
そのオブジェクトを生成したコンテキストで文字列を評価します。
expr の中のローカル変数の扱いはブロッ......行番号 lineno から文字列 expr が書かれているかのように
コンパイルされます。スタックトレースの表示などを差し替えることが
できます。
bind によらずに特定のオブジェクトのコンテキストで expr を評価したい場合、
Module......aram expr 評価する文字列です。
@param bind 評価コンテキストです。
@param fname スタックトレースに表示するファイル名です。
@param lineno 文字列 expr が書かれていると想定する先頭の行番号を整数で指定します。
//emlist[例][ruby]... -
Kernel
. # eval(expr , bind , fname = "(eval)" , lineno = 1) -> object (3269.0) -
文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Binding オブジェクトを与えた場合、 そのオブジェクトを生成したコンテキストで文字列を評価します。
...文字列 expr を Ruby プログラムとして評価してその結果を返しま
す。第2引数に
Binding オブジェクトを与えた場合、
そのオブジェクトを生成したコンテキストで文字列を評価します。
expr の中のローカル変数の扱いはブロッ......行番号 lineno から文字列 expr が書かれているかのように
コンパイルされます。スタックトレースの表示などを差し替えることが
できます。
bind によらずに特定のオブジェクトのコンテキストで expr を評価したい場合、
Module......aram expr 評価する文字列です。
@param bind 評価コンテキストです。
@param fname スタックトレースに表示するファイル名です。
@param lineno 文字列 expr が書かれていると想定する先頭の行番号を整数で指定します。
//emlist[例][ruby]... -
ObjectSpace
. # count _ tdata _ objects(result _ hash = nil) -> Hash (231.0) -
T_DATA の種類ごとにオブジェクトの数を格納したハッシュを返します。
...aram result_hash 戻り値のためのハッシュを指定します。省略した場合は新
しくハッシュを作成します。result_hash の内容は上書き
されます。プローブ効果を避けるために使用します。
@raise TypeError re...... Ruby プログラマ向けのメソッドではありません。パフォー
マンスに興味のある C Ruby の開発者向けのものです。
//emlist[例][ruby]{
ObjectSpace.count_tdata_objects
# => {RubyVM::InstructionSequence=>504, :parser=>5, :barrier=>6,
# :mutex=>6, Proc=>60, Rub......yVM::Env=>57, Mutex=>1, Encoding=>99,
# ThreadGroup=>1, Binding=>1, Thread=>1, RubyVM=>1, :iseq=>1,
# Random=>1, ARGF.class=>1, Data=>1, :autoload=>3, Time=>2}
//}
現在のバージョンでは、戻り値のキーはクラスオブジェクトかシンボルのオブ
ジェクトです。...