るりまサーチ

最速Rubyリファレンスマニュアル検索!
84件ヒット [1-84件を表示] (0.038秒)

別のキーワード

  1. objectspace each_object
  2. _builtin each_object
  3. object to_enum
  4. object send
  5. object enum_for

ライブラリ

モジュール

キーワード

検索結果

Kernel.#Array(arg) -> Array (18355.0)

引数を配列(Array)に変換した結果を返します。

...引数を配列(Array)に変換した結果を返します。

arg.to_ary と arg.to_a をこの順に呼び出して、返ってきた配列を変換結果とします。

arg に to_ary, to_a のいずれのメソッドも定義されていない場合は
一要素の配列 [arg] を返します...
...

@param arg 変換対象のオブジェクトです。
@raise TypeError to_ary, to_a の返り値が配列でなければ発生します

//emlist[例][ruby]{
p Array({:it => 3}) #=> [[:it, 3]]
p Array(nil) #=> []
p Array("fefe") #=> ["fefe"]
//}

@see Object#to_a,Object#to_ary,Array...

ObjectSpace.#reachable_objects_from(obj) -> Array | nil (9338.0)

obj から到達可能なすべてのオブジェクトを返します。マーク不能なオブジェ クトを指定した場合は nil を返します。本メソッドを使う事でメモリリークの 調査が行えます。

...う事でメモリリークの
調査が行えます。

//emlist[例][ruby]{
# 配列クラス(Array)と 'a'、'b'、'c' に到達可能。
Object
Space.reachable_objects_from(['a', 'b', 'c'])
# => [Array, 'a', 'b', 'c']
//}

obj が 2 つ以上の同じオブジェクト x への参照を持つ場...
...uby]{
# 配列クラス(Array)と v に到達可能。
Object
Space.reachable_objects_from([v = 'a', v, v])
# => [Array, 'a']

# 配列クラス(Array)と 3 つの異なる 'a' オブジェクトに到達可能。
Object
Space.reachable_objects_from(['a', 'a', 'a'])
# => [Array, 'a', 'a', 'a']
//}

ob...
...場合は
nil を返します。

//emlist[例][ruby]{
# 1 はマーク不能
Object
Space.reachable_objects_from(1)
# => nil
//}

obj が内部でオブジェクトへの参照を持つ場合、
Object
Space::InternalObjectWrapper オブジェクトが戻り値に含まれます。こ
のオブジェ...

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

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

...ックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは...
...=== 使い方の注意

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

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

これは、渡された proc の self が obj を参照し...
...の問題を回避しています。

//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def initialize
Object
Space.define_finalizer(self, Bar.callback)
end
end
Bar.new
GC.start
//}

proc の呼び出しで発生した大域脱出(exitや例外)は無...

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

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

...ックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは...
...=== 使い方の注意

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

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

これは、渡された proc の self が obj を参照し...
...の問題を回避しています。

//emlist[例][ruby]{
class Bar
def Bar.callback
proc {
puts "bar"
}
end
def initialize
Object
Space.define_finalizer(self, Bar.callback)
end
end
Bar.new
GC.start
//}

proc の呼び出しで発生した大域脱出(exitや例外)は無...

Kernel.#p(*arg) -> object | Array (315.0)

引数を人間に読みやすい形に整形して改行と順番に標準出力 $stdout に出力します。主にデバッグに使用します。

...り以下のコードと同じです。

//emlist[例][ruby]{
print arg[0].inspect, "\n", arg[1].inspect, "\n" #, ...
//}

整形に用いられるObject#inspectは普通に文字列に変換すると
区別がつかなくなるようなクラス間の差異も表現できるように工夫されて...
...された引数 arg を返します。複数の引数が指定された場合はそれらを要素とする配列を返します。

//emlist[例][ruby]{
puts "" #=> (空行)
p "" #=> ""

puts 50,"50"
#=> 50
#=> 50
p 50,"50"
#=> 50
#=> "50"
//}

@see Object#inspect,Kernel.#puts,Kernel.#print...

絞り込み条件を変える

JSON.#generate(object, state = nil) -> String (233.0)

与えられたオブジェクトを一行の JSON 形式の文字列に変換して返します。

...JSON::NaN, JSON::Infinity,
JSON::MinusInfinity を生成することもありません。

unparse は将来削除される予定です。

@param object JSON 形式の文字列に変換するオブジェクトを指定します。

@param state JSON::State または、to_hash や to_h メソッド...
...: :space_before
a string that is put before a : pair delimiter (default: '')
: :object_nl
a string that is put at the end of a JSON object (default: '')
: :array_nl
a string that is put at the end of a JSON array (default: '')
: :check_circular
真を指定した場合、生成するオブ...
...by]{
require "json"

JSON.generate([1, 2, { name: "tanaka", age: 19 }])
# => "[1,2,{\"name\":\"tanaka\",\"age\":19}]"
json_state = JSON::State.new(space: " ")
JSON.generate([1, 2, { name: "tanaka", age: 19 }], json_state)
# => "[1,2,{\"name\": \"tanaka\",\"age\": 19}]"
//}

@see JSON::State, JSON.#p...

JSON.#unparse(object, state = nil) -> String (233.0)

与えられたオブジェクトを一行の JSON 形式の文字列に変換して返します。

...JSON::NaN, JSON::Infinity,
JSON::MinusInfinity を生成することもありません。

unparse は将来削除される予定です。

@param object JSON 形式の文字列に変換するオブジェクトを指定します。

@param state JSON::State または、to_hash や to_h メソッド...
...: :space_before
a string that is put before a : pair delimiter (default: '')
: :object_nl
a string that is put at the end of a JSON object (default: '')
: :array_nl
a string that is put at the end of a JSON array (default: '')
: :check_circular
真を指定した場合、生成するオブ...
...by]{
require "json"

JSON.generate([1, 2, { name: "tanaka", age: 19 }])
# => "[1,2,{\"name\":\"tanaka\",\"age\":19}]"
json_state = JSON::State.new(space: " ")
JSON.generate([1, 2, { name: "tanaka", age: 19 }], json_state)
# => "[1,2,{\"name\": \"tanaka\",\"age\": 19}]"
//}

@see JSON::State, JSON.#p...