7件ヒット
[1-7件を表示]
(0.104秒)
クラス
- Delegator (1)
- MatchData (1)
- Module (1)
- Object (3)
- OpenStruct (1)
キーワード
- freeze (3)
- frozen? (1)
- modifiable (1)
- string (1)
- taint (1)
検索結果
先頭5件
-
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...