るりまサーチ

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

別のキーワード

  1. _builtin >
  2. bigdecimal >
  3. comparable >
  4. integer >
  5. module >

ライブラリ

クラス

検索結果

Object#freeze -> self (18280.0)

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

...ェクトが変化してしまうことは freeze では防げません。 freeze が防ぐのは、
`破壊的な操作' と呼ばれるもの一般です。変数への参照自体を凍結したい
場合は、グローバル変数なら Kernel.#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...
...します。

//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...