るりまサーチ

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

別のキーワード

  1. _builtin to_a
  2. matrix to_a
  3. to_a
  4. dbm to_a
  5. argf.class to_a

ライブラリ

キーワード

検索結果

Object#dup -> object (15139.0)

オブジェクトの複製を作成して返します。

...

dup
はオブジェクトの内容, taint 情報をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。

clone や dup は浅い(shallow)コピーであることに注意してください。後述。

TrueClass, Fals...
...eClass, NilClass, Symbol, そして Numeric クラスのインスタンスなど一部のオブジェクトは複製ではなくインスタンス自身を返します。

@param freeze true を指定すると freeze されたコピーを返します。
false を指定すると freeze...
...返します。
@raise ArgumentError TrueClass などの常に freeze されているオブジェクトの freeze されていないコピーを作成しようとしたときに発生します。

//emlist[][ruby]{
obj = "string"
obj.taint
def obj.fuga
end
obj.freeze

p(obj.equal?(obj)) #=>...
...

dup
はオブジェクトの内容をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。

clone や dup は浅い(shallow)コピーであることに注意してください。後述。

TrueClass, FalseClass, NilCla...
...など一部のオブジェクトは複製ではなくインスタンス自身を返します。

@param freeze true を指定すると freeze されたコピーを返します。
false を指定すると freeze されていないコピーを返します。
nil を指定...
...ーを返します。
@raise ArgumentError TrueClass などの常に freeze されているオブジェクトの freeze されていないコピーを作成しようとしたときに発生します。

//emlist[][ruby]{
obj = "string"
def obj.fuga
end
obj.freeze

p(obj.equal?(obj)) #=> tru...

Object#initialize_dup(obj) -> object (12225.0)

Object#dup がオブジェクトを複製する際に呼び出すメソッドです。

...
Object
#dup がオブジェクトを複製する際に呼び出すメソッドです。

デフォルトでは Object#initialize_copy を呼び出します。

initialize_dup という名前のメソッドは自動的に private に設定されます。

@see Object#initialize_copy, Object#initializ...

Object#initialize_copy(obj) -> object (6150.0)

(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。

...変数や特異メソッドは変化しません。

デフォルトでは、Object#clone の内部で Object#initialize_clone から、
また Object#dup の内部で Object#initialize_dup から呼ばれます。

initialize_copy は、Ruby インタプリタが知り得ない情報をコピーす...
...initialize_copy でコピーするよう定義しておくことで、dup や clone
を再定義する必要がなくなります。

デフォルトの Object#initialize_copy は、 freeze チェックおよび型のチェックを行い self
を返すだけのメソッドです。

initialize_cop...
...メソッドは
自動的に private に設定されます。

@raise TypeError レシーバが freeze されているか、obj のクラスがレシーバ
のクラスと異なる場合に発生します。
@see Object#clone,Object#dup

以下に例として、dup や clone がこのメソッド...

Object#initialize_clone(obj) -> object (6108.0)

Object#clone がオブジェクトを複製する際に呼び出すメソッドです。

...
Object
#clone がオブジェクトを複製する際に呼び出すメソッドです。

デフォルトでは Object#initialize_copy を呼び出します。

initialize_clone という名前のメソッドは自動的に private に設定されます。

@see Object#initialize_copy, Object#initi...
...alize_dup...

Object#freeze -> self (80.0)

オブジェクトを凍結(内容の変更を禁止)します。

...ら Kernel.#trace_var が使えます。

@return self を返します。

//emlist[][ruby]{
a
1 = "foo".freeze
a
1 = "bar"
p a1 #=> "bar"

a
2 = "foo".freeze
a
2.replace("bar") # can't modify frozen String (RuntimeError)
//}

凍結を解除することはできませんが、Object#dup を使えばほ...
...ます。

//emlist[][ruby]{
a
= [1].freeze
p a.frozen? #=> true

a
[0] = "foo"
p a # can't modify frozen Array (RuntimeError)

b = a.dup
p b #=> [1]
p b.frozen? #=> false

b[0] = "foo"
p b #=> ["foo"]
//}

@see Object#frozen?,Object#dup,Kernel.#trace_var...
...ら Kernel.#trace_var が使えます。

@return self を返します。

//emlist[][ruby]{
a
1 = "foo".freeze
a
1 = "bar"
p a1 #=> "bar"

a
2 = "foo".freeze
a
2.replace("bar") # can't modify frozen String (FrozenError)
//}

凍結を解除することはできませんが、Object#dup を使えばほ...
...ます。

//emlist[][ruby]{
a
= [1].freeze
p a.frozen? #=> true

a
[0] = "foo"
p a # can't modify frozen Array (FrozenError)

b = a.dup
p b #=> [1]
p b.frozen? #=> false

b[0] = "foo"
p b #=> ["foo"]
//}

@see Object#frozen?,Object#dup,Kernel.#trace_var...

絞り込み条件を変える

Object#clone(freeze: nil) -> object (39.0)

オブジェクトの複製を作成して返します。

...

dup
はオブジェクトの内容, taint 情報をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。

clone や dup は浅い(shallow)コピーであることに注意してください。後述。

TrueClass, Fals...
...eClass, NilClass, Symbol, そして Numeric クラスのインスタンスなど一部のオブジェクトは複製ではなくインスタンス自身を返します。

@param freeze true を指定すると freeze されたコピーを返します。
false を指定すると freeze...
...返します。
@raise ArgumentError TrueClass などの常に freeze されているオブジェクトの freeze されていないコピーを作成しようとしたときに発生します。

//emlist[][ruby]{
obj = "string"
obj.taint
def obj.fuga
end
obj.freeze

p(obj.equal?(obj)) #=>...
...

dup
はオブジェクトの内容をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。

clone や dup は浅い(shallow)コピーであることに注意してください。後述。

TrueClass, FalseClass, NilCla...
...など一部のオブジェクトは複製ではなくインスタンス自身を返します。

@param freeze true を指定すると freeze されたコピーを返します。
false を指定すると freeze されていないコピーを返します。
nil を指定...
...ーを返します。
@raise ArgumentError TrueClass などの常に freeze されているオブジェクトの freeze されていないコピーを作成しようとしたときに発生します。

//emlist[][ruby]{
obj = "string"
def obj.fuga
end
obj.freeze

p(obj.equal?(obj)) #=> tru...