ライブラリ
- ビルトイン (13)
キーワード
-
_ id2ref (1) -
add
_ finalizer (1) -
call
_ finalizer (1) -
define
_ finalizer (2) -
each
_ object (4) - finalizers (1)
-
garbage
_ collect (1) -
remove
_ finalizer (1) -
undefine
_ finalizer (1)
検索結果
先頭5件
-
ObjectSpace
. # _ id2ref(id) -> object (2) -
オブジェクト ID(Object#__id__)からオブジェクトを得ます。
...ェクト ID(Object#__id__)からオブジェクトを得ます。
@param id 取得したいオブジェクトの ID を整数で指定します。
@raise RangeError 対応するオブジェクトが存在しなければ発生します。
a = "hoge"
p ObjectSpace._id2ref(a.__id__) #=> "hoge"... -
ObjectSpace
. # add _ finalizer(proc) -> Proc (2) -
このメソッドは obsolete です。代わりに ObjectSpace.#define_finalizer を使用してください。
...このメソッドは obsolete です。代わりに
ObjectSpace.#define_finalizer を使用してください。
proc をファイナライザとして設定します。
proc を返します。
ObjectSpace.#call_finalizer で指定したオブジェクトが解放され
る時、そのオブジ... -
ObjectSpace
. # call _ finalizer(obj) -> object (2) -
このメソッドは obsolete です。
このメソッドは obsolete です。
obj をファイナライザの対象オブジェクトとして設定します。
obj を返します。
@param obj ファイナライザの対象とするオブジェクトを指定します。 -
ObjectSpace
. # define _ finalizer(obj) {|id| . . . } -> Array (2) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。現在のセーフレベルと proc を配列にして返します。
...行されます。
==== 使い方の注意
以下は、define_finalizer の使い方の悪い例です。
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"
}
end
end
Foo.new
GC.start
これは、渡された proc の self が obj を参......記の問題を回避しています。
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def initialize
ObjectSpace.define_finalizer(self, Bar.callback)
end
end
Bar.new
GC.start
proc の呼び出しで発生した大域脱出(exitや例外)は無......-d オプションで
事前に例外の発生の有無を確認しておいた方が良いでしょう。
class Baz
def initialize
ObjectSpace.define_finalizer self, eval %q{
proc {
raise "baz" rescue puts $!
raise "baz2"
puts "baz3"
}... -
ObjectSpace
. # define _ finalizer(obj , proc) -> Array (2) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。現在のセーフレベルと proc を配列にして返します。
...行されます。
==== 使い方の注意
以下は、define_finalizer の使い方の悪い例です。
class Foo
def initialize
ObjectSpace.define_finalizer(self) {
puts "foo"
}
end
end
Foo.new
GC.start
これは、渡された proc の self が obj を参......記の問題を回避しています。
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def initialize
ObjectSpace.define_finalizer(self, Bar.callback)
end
end
Bar.new
GC.start
proc の呼び出しで発生した大域脱出(exitや例外)は無......-d オプションで
事前に例外の発生の有無を確認しておいた方が良いでしょう。
class Baz
def initialize
ObjectSpace.define_finalizer self, eval %q{
proc {
raise "baz" rescue puts $!
raise "baz2"
puts "baz3"
}... -
ObjectSpace
. # each _ object -> Enumerable :: Enumerator (2) -
指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。
指定された klass と Object#kind_of? の関係にある全ての
オブジェクトに対して繰り返します。引数が省略された時には全てのオブ
ジェクトに対して繰り返します。
繰り返した数を返します。
ブロックが与えられなかった場合は、
Enumerable::Enumerator オブジェクトを返します。
次のクラスのオブジェクトについては繰り返しません
* Fixnum
* Symbol
* TrueClass
* FalseClass
* NilClass
とくに、klass に Fixnum や Symbol などのクラスを指定した場合は、
何も繰り返さないこと... -
ObjectSpace
. # each _ object {|object| . . . } -> Integer (2) -
指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。
指定された klass と Object#kind_of? の関係にある全ての
オブジェクトに対して繰り返します。引数が省略された時には全てのオブ
ジェクトに対して繰り返します。
繰り返した数を返します。
ブロックが与えられなかった場合は、
Enumerable::Enumerator オブジェクトを返します。
次のクラスのオブジェクトについては繰り返しません
* Fixnum
* Symbol
* TrueClass
* FalseClass
* NilClass
とくに、klass に Fixnum や Symbol などのクラスを指定した場合は、
何も繰り返さないこと... -
ObjectSpace
. # each _ object(klass) -> Enumerable :: Enumerator (2) -
指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。
指定された klass と Object#kind_of? の関係にある全ての
オブジェクトに対して繰り返します。引数が省略された時には全てのオブ
ジェクトに対して繰り返します。
繰り返した数を返します。
ブロックが与えられなかった場合は、
Enumerable::Enumerator オブジェクトを返します。
次のクラスのオブジェクトについては繰り返しません
* Fixnum
* Symbol
* TrueClass
* FalseClass
* NilClass
とくに、klass に Fixnum や Symbol などのクラスを指定した場合は、
何も繰り返さないこと... -
ObjectSpace
. # each _ object(klass) {|object| . . . } -> Integer (2) -
指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。
指定された klass と Object#kind_of? の関係にある全ての
オブジェクトに対して繰り返します。引数が省略された時には全てのオブ
ジェクトに対して繰り返します。
繰り返した数を返します。
ブロックが与えられなかった場合は、
Enumerable::Enumerator オブジェクトを返します。
次のクラスのオブジェクトについては繰り返しません
* Fixnum
* Symbol
* TrueClass
* FalseClass
* NilClass
とくに、klass に Fixnum や Symbol などのクラスを指定した場合は、
何も繰り返さないこと... -
ObjectSpace
. # finalizers -> [Proc] (2) -
このメソッドは obsolete です。
このメソッドは obsolete です。
現在登録されているファイナライザの配列を返します。 -
ObjectSpace
. # garbage _ collect -> nil (2) -
どこからも参照されなくなったオブジェクトを回収します。 GC.start と同じです。
どこからも参照されなくなったオブジェクトを回収します。
GC.start と同じです。 -
ObjectSpace
. # remove _ finalizer(proc) -> Proc (2) -
このメソッドは obsolete です。代わりに ObjectSpace.#undefine_finalizer を使用してくださ い。
...このメソッドは obsolete です。代わりに
ObjectSpace.#undefine_finalizer を使用してくださ
い。
指定した proc をファイナライザから取り除きます。
proc を返します。
@param proc 取り除きたいファイナライザである Proc オブジェクト... -
ObjectSpace
. # undefine _ finalizer(obj) -> object (2) -
obj に対するファイナライザをすべて解除します。 obj を返します。
obj に対するファイナライザをすべて解除します。
obj を返します。
@param obj ファイナライザを解除したいオブジェクトを指定します。
