るりまサーチ

最速Rubyリファレンスマニュアル検索!
24件ヒット [1-24件を表示] (0.120秒)
トップページ > 種類:インスタンスメソッド[x] > クエリ:-[x] > クエリ:@[x] > クエリ:self[x] > クエリ:dup[x] > クラス:Object[x]

別のキーワード

  1. _builtin -
  2. open-uri open
  3. irb/input-method new
  4. irb/input-method gets
  5. matrix -

ライブラリ

キーワード

検索結果

Object#freeze -> self (239.0)

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

...trace_var が使えます。

@
return self を返します。

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

a2 = "foo".freeze
a2.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...
...#trace_var が使えます。

@
return self を返します。

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

a2 = "foo".freeze
a2.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#initialize_copy(obj) -> object (198.0)

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

...ソッドは self を obj の内容で置き換えます。ただ
し、self のインスタンス変数や特異メソッドは変化しません。

デフォルトでは、Object#clone の内部で Object#initialize_clone から、
また Object#dup の内部で Object#initialize_dup から呼ば...
...lize_copy でコピーするよう定義しておくことで、dup や clone
を再定義する必要がなくなります。

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

initialize_copy と...
...自動的に private に設定されます。

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

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