るりまサーチ

最速Rubyリファレンスマニュアル検索!
55件ヒット [1-55件を表示] (0.159秒)
トップページ > クエリ:l[x] > クエリ:>[x] > クエリ:class[x] > クエリ:puts[x] > モジュール:ObjectSpace[x]

別のキーワード

  1. _builtin >
  2. bigdecimal >
  3. module >
  4. float >
  5. complex >

ライブラリ

キーワード

検索結果

ObjectSpace.#define_finalizer(obj) {|id| ...} -> Array (6243.0)

obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。

...の注意

以下は、define_finalizer の使い方の悪い例です。

//emlist[悪い例][ruby]{
class
Foo
def initialize
ObjectSpace
.define_finalizer(self) {
puts
"foo"
}
end
end
Foo.new
GC.start
//}

これは、渡された proc の self が obj を参照しつ
づけるた...
...ん。

tempfile は、ファイナライザの使い方の
良い例になっています。これは、クラスのコンテキストで Proc を
生成することで上記の問題を回避しています。

//emlist[例][ruby]{
class
Bar
def Bar.callback
proc {
puts
"bar"
}
e...
...良いでしょう。

//emlist[例][ruby]{
class
Baz
def initialize
ObjectSpace
.define_finalizer self, eval(%q{
proc {
raise "baz" rescue puts $!
raise "baz2"
puts
"baz3"
}
}, TOPLEVEL_BINDING)
end
end
Baz.new
GC.start

# => baz
//}

@see spec/rubycmd...

ObjectSpace.#define_finalizer(obj, proc) -> Array (6243.0)

obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。

...の注意

以下は、define_finalizer の使い方の悪い例です。

//emlist[悪い例][ruby]{
class
Foo
def initialize
ObjectSpace
.define_finalizer(self) {
puts
"foo"
}
end
end
Foo.new
GC.start
//}

これは、渡された proc の self が obj を参照しつ
づけるた...
...ん。

tempfile は、ファイナライザの使い方の
良い例になっています。これは、クラスのコンテキストで Proc を
生成することで上記の問題を回避しています。

//emlist[例][ruby]{
class
Bar
def Bar.callback
proc {
puts
"bar"
}
e...
...良いでしょう。

//emlist[例][ruby]{
class
Baz
def initialize
ObjectSpace
.define_finalizer self, eval(%q{
proc {
raise "baz" rescue puts $!
raise "baz2"
puts
"baz3"
}
}, TOPLEVEL_BINDING)
end
end
Baz.new
GC.start

# => baz
//}

@see spec/rubycmd...

ObjectSpace.#undefine_finalizer(obj) -> object (6213.0)

obj に対するファイナライザをすべて解除します。 obj を返します。

...//emlist[例][ruby]{
class
Sample
def Sample.callback
proc {
puts
"finalize"
}
end

def initialize
ObjectSpace
.define_finalizer(self, Sample.callback)
end

def undef
ObjectSpace
.undefine_finalizer(self)
end
end

Sample.new
GC.start
# => finalize

Sample.new
sample.u...
...ndef
GC.start
# ※何も出力されない
//}

@see ObjectSpace.#define_finalizer...

ObjectSpace.#each_object(klass) -> Enumerator (219.0)

指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。

...指定された klass と Object#kind_of? の関係にある全ての
オブジェクトに対して繰り返します。引数が省略された時には全てのオブ
ジェクトに対して繰り返します。
繰り返した数を返します。

ブロックが与えられなかった場合...
...um
* Symbol
* TrueClass
* FalseClass
* NilClass

とくに、klass に Fixnum や Symbol などのクラスを指定した場合は、
何も繰り返さないことになります。
なお、Symbol については、かわりに Symbol.all_symbols が使用できます。

@param klass クラ...
...

//emlist[例: ブロックなし][ruby]{
p ObjectSpace.each_object
# => #<Enumerator: ObjectSpace:each_object(false)>
//}

//emlist[例: 全てのオブジェクトを扱う][ruby]{
ObjectSpace
.each_object.take(5).each { |x| p x }
count = ObjectSpace.each_object { |x| x }
puts
"Total count: #{c...

ObjectSpace.#each_object(klass) {|object| ...} -> Integer (219.0)

指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。

...指定された klass と Object#kind_of? の関係にある全ての
オブジェクトに対して繰り返します。引数が省略された時には全てのオブ
ジェクトに対して繰り返します。
繰り返した数を返します。

ブロックが与えられなかった場合...
...um
* Symbol
* TrueClass
* FalseClass
* NilClass

とくに、klass に Fixnum や Symbol などのクラスを指定した場合は、
何も繰り返さないことになります。
なお、Symbol については、かわりに Symbol.all_symbols が使用できます。

@param klass クラ...
...

//emlist[例: ブロックなし][ruby]{
p ObjectSpace.each_object
# => #<Enumerator: ObjectSpace:each_object(false)>
//}

//emlist[例: 全てのオブジェクトを扱う][ruby]{
ObjectSpace
.each_object.take(5).each { |x| p x }
count = ObjectSpace.each_object { |x| x }
puts
"Total count: #{c...

絞り込み条件を変える