るりまサーチ (Ruby 1.9.3)

最速Rubyリファレンスマニュアル検索!
6件ヒット [1-6件を表示] (0.026秒)
トップページ > クラス:Object[x] > バージョン:1.9.3[x] > クエリ:freeze[x]

別のキーワード

  1. _builtin freeze
  2. object freeze
  3. module freeze
  4. delegate freeze
  5. delegator freeze

ライブラリ

キーワード

検索結果

Object#freeze -> self (18133.0)

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

...=> "bar"

a2 = "foo".freeze
a2.replace("bar") # can't modify frozen String (FrozenError)

凍結を解除することはできませんが、Object#dup を使えばほぼ同じ内容の凍結されていない
オブジェクトを得ることはできます。

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#clone -> object (14.0)

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

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

@see Object#initialize_copy

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

clone や dup はオブジェクト自身を複製するだけで、オブジェクトの...

Object#dup -> object (14.0)

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

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

@see Object#initialize_copy

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

clone や dup はオブジェクト自身を複製するだけで、オブジェクトの...

Object#frozen? -> bool (14.0)

オブジェクトが凍結(内容の変更を禁止)されているときに真を返します。

...を禁止)されているときに真を返します。

obj = "someone"
p obj.frozen? #=> false
obj.freeze
p obj.frozen? #=> true

@see Object#freeze...

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

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

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

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

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

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

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

obj.dup は、...

絞り込み条件を変える

Object#taint -> self (8.0)

オブジェクトの「汚染マーク」をセットします。

...inted? #=> false
eval(some) #=> @&%&(#!

some.taint
p some.tainted? #=> true
eval(some) # Insecure operation - eval (SecurityError)

some.untaint
p some.tainted? #=> false
eval(some) #=> @&%&(#!

p ENV['OS'].tainted? #=> true

@see Object#tainted?,Object#untaint,Object#freeze...