るりまサーチ

最速Rubyリファレンスマニュアル検索!
145件ヒット [1-100件を表示] (0.013秒)
トップページ > クエリ:copy[x] > クエリ:clone[x]

別のキーワード

  1. io copy_stream
  2. net/http copy
  3. fileutils copy
  4. fileutils copy_file
  5. fileutils copy_entry

検索結果

<< 1 2 > >>

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

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

...て返します。

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

clone
や dup は浅い(shallow)コピーであることに注意してください。後述...
...#=> true
p(obj.tainted?) #=> true
p(obj.frozen?) #=> true
p(obj.respond_to?(:fuga)) #=> true

obj_c = obj.clone

p(obj.equal?(obj_c)) #=> false
p(obj == obj_c) #=> true
p(obj_c.tainted?) #=> true
p(obj_c.frozen?) #=> t...
...@see Object#initialize_copy

=== 深いコピーと浅いコピー

clone
や dup はオブジェクト自身を複製するだけで、オブジェクトの指し
ている先(たとえば配列の要素など)までは複製しません。これを浅いコピー(shallow copy)といいます。...
...#=> true
p(obj.tainted?) #=> false
p(obj.frozen?) #=> true
p(obj.respond_to?(:fuga)) #=> true

obj_c = obj.clone

p(obj.equal?(obj_c)) #=> false
p(obj == obj_c) #=> true
p(obj_c.tainted?) #=> false
p(obj_c.frozen?) #=>...
...製を作成して返します。

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

clone
や dup は浅い(shallow)コピーであることに注意してください。後述...
...obj)) #=> true
p(obj == obj) #=> true
p(obj.frozen?) #=> true
p(obj.respond_to?(:fuga)) #=> true

obj_c = obj.clone

p(obj.equal?(obj_c)) #=> false
p(obj == obj_c) #=> true
p(obj_c.frozen?) #=> true
p(obj_c.respond_to?(:fuga)) #=> t...

Array#clone -> Array (18125.0)

レシーバと同じ内容を持つ新しい配列を返します。

...レシーバと同じ内容を持つ新しい配列を返します。

clone
は frozen singleton-class の情報も含めてコピーしますが、
dup は内容と tainted だけをコピーします。
またどちらのメソッドも要素それ自体のコピーはしません。
つまり...
...ているオブジェクトが変わらない「浅い(shallow)」コピーを行います。

//emlist[例][ruby]{
ary = ['string']
p ary #=> ["string"]
copy
= ary.dup
p copy #=> ["string"]

ary[0][0...3] = ''
p ary #=> ["ing"]
p copy #=> ["ing"]
//}...
...レシーバと同じ内容を持つ新しい配列を返します。

clone
は frozen singleton-class の情報も含めてコピーしますが、
dup は内容だけをコピーします。
またどちらのメソッドも要素それ自体のコピーはしません。
つまり参照して...
...いるオブジェクトが変わらない「浅い(shallow)」コピーを行います。

//emlist[例][ruby]{
ary = ['string']
p ary #=> ["string"]
copy
= ary.dup
p copy #=> ["string"]

ary[0][0...3] = ''
p ary #=> ["ing"]
p copy #=> ["ing"]
//}...

void rb_copy_generic_ivar(VALUE clone, VALUE obj) (6200.0)

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

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

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

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

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

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

initialize_copy...
...ect#clone,Object#dup

以下に例として、dup や clone がこのメソッドをどのように利用しているかを示します。

obj.dup は、新たに生成したオブジェクトに対して
initialize_copy を呼び

//emlist[][ruby]{
obj2 = obj.class.allocate
obj2.initialize_copy(ob...

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

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

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

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

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

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

絞り込み条件を変える

Object#dup -> object (3037.0)

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

...て返します。

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

clone
や dup は浅い(shallow)コピーであることに注意してください。後述...
...#=> true
p(obj.tainted?) #=> true
p(obj.frozen?) #=> true
p(obj.respond_to?(:fuga)) #=> true

obj_c = obj.clone

p(obj.equal?(obj_c)) #=> false
p(obj == obj_c) #=> true
p(obj_c.tainted?) #=> true
p(obj_c.frozen?) #=> t...
...@see Object#initialize_copy

=== 深いコピーと浅いコピー

clone
や dup はオブジェクト自身を複製するだけで、オブジェクトの指し
ている先(たとえば配列の要素など)までは複製しません。これを浅いコピー(shallow copy)といいます。...
...#=> true
p(obj.tainted?) #=> false
p(obj.frozen?) #=> true
p(obj.respond_to?(:fuga)) #=> true

obj_c = obj.clone

p(obj.equal?(obj_c)) #=> false
p(obj == obj_c) #=> true
p(obj_c.tainted?) #=> false
p(obj_c.frozen?) #=>...
...製を作成して返します。

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

clone
や dup は浅い(shallow)コピーであることに注意してください。後述...
...obj)) #=> true
p(obj == obj) #=> true
p(obj.frozen?) #=> true
p(obj.respond_to?(:fuga)) #=> true

obj_c = obj.clone

p(obj.equal?(obj_c)) #=> false
p(obj == obj_c) #=> true
p(obj_c.frozen?) #=> true
p(obj_c.respond_to?(:fuga)) #=> t...

Array#dup -> Array (3025.0)

レシーバと同じ内容を持つ新しい配列を返します。

...レシーバと同じ内容を持つ新しい配列を返します。

clone
は frozen singleton-class の情報も含めてコピーしますが、
dup は内容と tainted だけをコピーします。
またどちらのメソッドも要素それ自体のコピーはしません。
つまり...
...ているオブジェクトが変わらない「浅い(shallow)」コピーを行います。

//emlist[例][ruby]{
ary = ['string']
p ary #=> ["string"]
copy
= ary.dup
p copy #=> ["string"]

ary[0][0...3] = ''
p ary #=> ["ing"]
p copy #=> ["ing"]
//}...
...レシーバと同じ内容を持つ新しい配列を返します。

clone
は frozen singleton-class の情報も含めてコピーしますが、
dup は内容だけをコピーします。
またどちらのメソッドも要素それ自体のコピーはしません。
つまり参照して...
...いるオブジェクトが変わらない「浅い(shallow)」コピーを行います。

//emlist[例][ruby]{
ary = ['string']
p ary #=> ["string"]
copy
= ary.dup
p copy #=> ["string"]

ary[0][0...3] = ''
p ary #=> ["ing"]
p copy #=> ["ing"]
//}...

1.6.8から1.8.0への変更点(まとめ) (30.0)

1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))

...と剰余

=== NoMethodError

: ((<NoMethodError#args|NoMethodError/args>)) [new]

追加

=== Object

: ((<Object#initialize_copy|Object/initialize_copy>)) [change]

追加

このメソッドは initialize と同様、自動的に private method になります。

: ((<Object#instanc...
...-dev:16183>))

一つ一つ include した場合とは逆順になります。

=== Object

: ((<Object#clone|Object/clone>)) [change]

Numeric など immutable なオブジェクトは clone できなくなりました。
((<ruby-bugs-ja:PR#94>)), ((<rubyist:0831>))

=== Range

: ((<Range#max...

NEWS for Ruby 3.0.0 (30.0)

NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...* Kernel#clone when called with the `freeze: false` keyword will call `#initialize_clone` with the `freeze: false` keyword. 14266
* Kernel#clone when called with the `freeze: true` keyword will call `#initialize_clone` with the `freeze: true` keyword, and will return a frozen copy even if the...
<< 1 2 > >>