るりまサーチ

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

別のキーワード

  1. psych psych_y
  2. psych y
  3. kernel y
  4. kernel psych_y
  5. y psych

クラス

キーワード

検索結果

Array#clone -> Array (21227.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"]
//}...

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

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

...えます。ただ
し、self のインスタンス変数や特異メソッドは変化しません。
Object#clone, Object#dupの内部で使われています。

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

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

initialize_copy...
...に private に設定されます。

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

以下に例として、dup や clone がこのメソッドをどのように利用...

Array#dup -> Array (6127.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"]
//}...