るりまサーチ

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

別のキーワード

  1. _builtin dup
  2. singleton dup
  3. etc sc_re_dup_max
  4. set dup
  5. bigdecimal dup

ライブラリ

クラス

モジュール

キーワード

検索結果

<< < 1 2 3 4 ... > >>

Digest::Base#dup -> Digest::Base (15102.0)

ダイジェストオブジェクトの複製を作ります。

ダイジェストオブジェクトの複製を作ります。

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

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

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

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

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

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

String#dedup -> String | self (3101.0)

self が freeze されている文字列の場合、self を返します。 freeze されていない場合は元の文字列の freeze された (できる限り既存の) 複製を返します。

self が freeze されている文字列の場合、self を返します。
freeze されていない場合は元の文字列の freeze された (できる限り既存の) 複製を返します。

//emlist[例][ruby]{
# frozen_string_literal: false

original_text = "text"
frozen_text = -original_text
frozen_text.frozen? # => true
original_text == frozen_text # => true
original_te...

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

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

...ッドは変化しません。

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

initialize_copy は、Ruby インタプリタが知り得ない情報をコピーするた
めに使用(...
...保持させない場合がありますが、そういった内部情
報を initialize_copy でコピーするよう定義しておくことで、dup や clone
を再定義する必要がなくなります。

デフォルトの Object#initialize_copy は、 freeze チェックおよび型のチェ...
...
のクラスと異なる場合に発生します。
@see Object#clone,Object#dup

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

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

/...

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

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

...ェクトの複製を作成して返します。

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

clone や dup は浅い(shallow)コピーであることに注...
...bj_d = obj.dup

p(obj.equal?(obj_d)) #=> false
p(obj == obj_d) #=> true
p(obj_d.tainted?) #=> true
p(obj_d.frozen?) #=> false
p(obj_d.respond_to?(:fuga)) #=> false
//}

@see Object#initialize_copy

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

clone や dup はオブ...
...だしMarshal出来ないオブジェクトが
含まれている場合には使えません。

//emlist[][ruby]{
obj = ["a","b","c"]

obj_d = obj.dup
obj_d[0] << "PLUS"

p obj #=> ["aPLUS", "b", "c"]
p obj_d #=> ["aPLUS", "b", "c"]

obj_m = Marshal.load(Marshal.dump(obj))
obj_m[1] << "PLUS"

p o...
...j_d = obj.dup

p(obj.equal?(obj_d)) #=> false
p(obj == obj_d) #=> true
p(obj_d.tainted?) #=> false
p(obj_d.frozen?) #=> false
p(obj_d.respond_to?(:fuga)) #=> false
//}

@see Object#initialize_copy

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

clone や dup はオブ...
...オブジェクトの複製を作成して返します。

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

clone や dup は浅い(shallow)コピーであることに注意し...
...fuga)) #=> true

obj_d = obj.dup

p(obj.equal?(obj_d)) #=> false
p(obj == obj_d) #=> true
p(obj_d.frozen?) #=> false
p(obj_d.respond_to?(:fuga)) #=> false
//}

@see Object#initialize_copy

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

clone や dup はオブジェクト自身...

絞り込み条件を変える

IO#clone -> IO (24.0)

レシーバと同じ IO を参照する新しい IO オブジェクトを返します。 参照しているファイル記述子は dup(2) されます。

...を返します。
参照しているファイル記述子は dup(2) されます。

clone の際に self は一旦 IO#flush されます。
フリーズした IO の clone は同様にフリーズされた IO を返しますが、
dup
は内容の等しいフリーズされていない IO を返...

Set#clone -> Set (20.0)

集合を複製して返します。

...集合を複製して返します。

dup
は、集合の内容と taint 情報のみコピーします。
clone は、それに加えて、freeze 情報と特異メソッドをコピーします。
いずれも共通して、内部記憶として保持するハッシュもコピーしますが、...
...集合の要素そのものはコピーしません。

Set クラスでは、dup と clone に共通して、内部記憶として
用いるハッシュも含めて taint 情報をコピーします。
ただし、clone では内部記憶の freeze 情報はコピーされません。
このため...
...、freeze された集合を clone した場合、生成された集合の要素は
変更可能である点に注意してください。

//emlist[][ruby]{
require 'set'
s1 = Set[10, 20]
s2 = s1.dup
s2 << 30
p s1 # => #<Set: {10, 20}>
p s2 # => #<Set: {10, 20, 30}>
//}

@see Object#clone...
...、freeze された集合を clone した場合、生成された集合の要素は
変更可能である点に注意してください。

//emlist[][ruby]{
s1 = Set[10, 20]
s2 = s1.dup
s2 << 30
p s1 # => #<Set: {10, 20}>
p s2 # => #<Set: {10, 20, 30}>
//}

@see Object#clone...

Hash#replace(other) -> self (19.0)

ハッシュの内容を other の内容で置き換えます。

...ります。
otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。

self = other.to_hash.dup と同じです。

@param other ハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
@return sel...
...{2 => 'B', 3 => 'C'}

foo.replace(bar)
p foo #=> {2=>"B", 3=>"C"}

zoo = {}
zoo = bar.dup
p zoo #=> {2=>"B", 3=>"C"}

class Foo
def to_hash
{:japan => 'kyoto'}
end
end

h = Hash.new
h.replace(Foo.new) #暗黙の変換
p h #=> {:japan=>"kyoto"}
//}

@see Hash#dup,Hash#merge,Object#to_hash...

Object#freeze -> self (19.0)

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

...ませんが、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...
...ませんが、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...

Array#clone -> Array (14.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 2 3 4 ... > >>