るりまサーチ (Ruby 2.3.0)

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

別のキーワード

  1. objectspace each_object
  2. _builtin each_object
  3. object send
  4. object to_enum
  5. object enum_for

ライブラリ

クラス

キーワード

検索結果

Object#freeze -> self (9004.0)

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

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

凍結されたオブジェクトの変更は
例外 RuntimeError を発生させます。
いったん凍結されたオブジェクトを元に戻す方法はありません。

凍結されるのはオブジェクトであり、変数ではありません。代入などで変数の指す
オブジェクトが変化してしまうことは freeze では防げません。 freeze が防ぐのは、
`破壊的な操作' と呼ばれるもの一般です。変数への参照自体を凍結したい
場合は、グローバル変数なら Kernel.#trace_var が使えます。

@return self を返します。

//emlist[][ruby]{
a...

OpenStruct#modifiable -> Hash (40.0)

このメソッドは内部的に使用されます。

このメソッドは内部的に使用されます。

自身が Object#freeze されている場合にこのメソッドを呼び出すと例外が発生します。

@raise TypeError 自身が Object#freeze されている場合に発生します。

Delegator#freeze -> self (22.0)

自身を凍結します。

自身を凍結します。

@see Object#freeze

MatchData#string -> String (22.0)

マッチ対象になった文字列の複製を返します。

マッチ対象になった文字列の複製を返します。

返す文字列はフリーズ(Object#freeze)されています。

//emlist[例][ruby]{
m = /(.)(.)(\d+)(\d)/.match("THX1138.")
m.string # => "THX1138."
//}

Module#freeze -> self (22.0)

モジュールを凍結(内容の変更を禁止)します。

モジュールを凍結(内容の変更を禁止)します。

凍結したモジュールにメソッドの追加など何らかの変更を加えようとした場合に
RuntimeError
が発生します。

@see Object#freeze

//emlist[例][ruby]{
module Foo; end
Foo.freeze

module Foo
def foo; end
end # => RuntimeError: can't modify frozen module
//}

絞り込み条件を変える

Object#frozen? -> bool (22.0)

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

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

//emlist[][ruby]{
obj = "someone"
p obj.frozen? #=> false
obj.freeze
p obj.frozen? #=> true
//}

@see Object#freeze

Object#taint -> self (22.0)

このメソッドは Ruby 2.7 から deprecated で、Ruby 3.2 で削除予定です。

このメソッドは Ruby 2.7 から deprecated で、Ruby 3.2 で削除予定です。

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

環境変数(ENVで得られる文字列)など一部のオブジェクトは最初から汚染されています。
オブジェクトの汚染に関してはspec/safelevelを参照してください。

//emlist[][ruby]{
$SAFE = 1

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

some.taint
p some.tainted? #=> true
e...