125件ヒット
[1-100件を表示]
(0.066秒)
別のキーワード
種類
- インスタンスメソッド (88)
- 文書 (20)
- 特異メソッド (17)
クラス
- BasicObject (11)
- FrozenError (5)
- Object (61)
モジュール
- Psych (6)
-
Rake
:: Cloneable (11)
オブジェクト
- ENV (11)
キーワード
-
NEWS for Ruby 2
. 3 . 0 (9) -
_ _ id _ _ (11) - clone (22)
- dup (22)
- frozen? (11)
-
initialize
_ copy (11) - receiver (5)
-
ruby 1
. 6 feature (11) -
safe
_ load (6) - taint (6)
検索結果
先頭5件
-
Object
# freeze -> self (21177.0) -
オブジェクトを凍結(内容の変更を禁止)します。
...
オブジェクトを凍結(内容の変更を禁止)します。
凍結されたオブジェクトの変更は
例外 RuntimeError を発生させます。
いったん凍結されたオブジェクトを元に戻す方法はありません。
凍結されるのはオブジェクトであり......、変数ではありません。代入などで変数の指す
オブジェクトが変化してしまうことは freeze では防げません。 freeze が防ぐのは、
`破壊的な操作' と呼ばれるもの一般です。変数への参照自体を凍結したい
場合は、グローバ......t[][ruby]{
a1 = "foo".freeze
a1 = "bar"
p a1 #=> "bar"
a2 = "foo".freeze
a2.replace("bar") # can't modify frozen String (RuntimeError)
//}
凍結を解除することはできませんが、Object#dup を使えばほぼ同じ内容の凍結されていない
オブジェクトを得ることはで......
オブジェクトを凍結(内容の変更を禁止)します。
凍結されたオブジェクトの変更は
例外 FrozenError を発生させます。
いったん凍結されたオブジェクトを元に戻す方法はありません。
凍結されるのはオブジェクトであり......t[][ruby]{
a1 = "foo".freeze
a1 = "bar"
p a1 #=> "bar"
a2 = "foo".freeze
a2.replace("bar") # can't modify frozen String (FrozenError)
//}
凍結を解除することはできませんが、Object#dup を使えばほぼ同じ内容の凍結されていない
オブジェクトを得ることはで... -
Object
# clone(freeze: true) -> object (3289.0) -
オブジェクトの複製を作成して返します。
...
オブジェクトの複製を作成して返します。
dup はオブジェクトの内容, taint 情報をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。
clone や dup は浅い(shallow)コピーであるこ......ど一部のオブジェクトは複製ではなくインスタンス自身を返します。
@param freeze false を指定すると freeze されていないコピーを返します。
@raise ArgumentError TrueClass などの常に freeze されているオブジェクトの freeze されていな......j = "string"
obj.taint
def obj.fuga
end
obj.freeze
p(obj.equal?(obj)) #=> true
p(obj == obj) #=> true
p(obj.tainted?) #=> true
p(obj.frozen?) #=> true
p(obj.respond_to?(:fuga)) #=> true
obj_c = obj.clone
p(obj.equal?(obj_c)) #=> false
p(obj......t[][ruby]{
obj = "string"
obj.taint
def obj.fuga
end
obj.freeze
p(obj.equal?(obj)) #=> true
p(obj == obj) #=> true
p(obj.tainted?) #=> false
p(obj.frozen?) #=> true
p(obj.respond_to?(:fuga)) #=> true
obj_c = obj.clone
p(obj.equal?(obj_c)) #......
オブジェクトの複製を作成して返します。
dup はオブジェクトの内容をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。
clone や dup は浅い(shallow)コピーであることに注意し......]{
obj = "string"
def obj.fuga
end
obj.freeze
p(obj.equal?(obj)) #=> true
p(obj == obj) #=> true
p(obj.frozen?) #=> true
p(obj.respond_to?(:fuga)) #=> true
obj_c = obj.clone
p(obj.equal?(obj_c)) #=> false
p(obj == obj_c) #=> true
p(obj_c.fr... -
Object
# dup -> object (3189.0) -
オブジェクトの複製を作成して返します。
...
オブジェクトの複製を作成して返します。
dup はオブジェクトの内容, taint 情報をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。
clone や dup は浅い(shallow)コピーであるこ......ど一部のオブジェクトは複製ではなくインスタンス自身を返します。
@param freeze false を指定すると freeze されていないコピーを返します。
@raise ArgumentError TrueClass などの常に freeze されているオブジェクトの freeze されていな......j = "string"
obj.taint
def obj.fuga
end
obj.freeze
p(obj.equal?(obj)) #=> true
p(obj == obj) #=> true
p(obj.tainted?) #=> true
p(obj.frozen?) #=> true
p(obj.respond_to?(:fuga)) #=> true
obj_c = obj.clone
p(obj.equal?(obj_c)) #=> false
p(obj......t[][ruby]{
obj = "string"
obj.taint
def obj.fuga
end
obj.freeze
p(obj.equal?(obj)) #=> true
p(obj == obj) #=> true
p(obj.tainted?) #=> false
p(obj.frozen?) #=> true
p(obj.respond_to?(:fuga)) #=> true
obj_c = obj.clone
p(obj.equal?(obj_c)) #......
オブジェクトの複製を作成して返します。
dup はオブジェクトの内容をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。
clone や dup は浅い(shallow)コピーであることに注意し......]{
obj = "string"
def obj.fuga
end
obj.freeze
p(obj.equal?(obj)) #=> true
p(obj == obj) #=> true
p(obj.frozen?) #=> true
p(obj.respond_to?(:fuga)) #=> true
obj_c = obj.clone
p(obj.equal?(obj_c)) #=> false
p(obj == obj_c) #=> true
p(obj_c.fr... -
Object
# initialize _ copy(obj) -> object (3134.0) -
(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。
...る) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。
このメソッドは self を obj の内容で置き換えます。ただ
し、self のインスタンス変数や特異メソッドは変化しません。
Object#clone, Object#dupの内部で使われてい......Object#initialize_copy は、 freeze チェックおよび型のチェックを行い self
を返すだけのメソッドです。
initialize_copy という名前のメソッドは
自動的に private に設定されます。
@raise TypeError レシーバが freeze されているか、obj の......@see Object#clone,Object#dup
以下に例として、dup や clone がこのメソッドをどのように利用しているかを示します。
obj.dup は、新たに生成したオブジェクトに対して
initialize_copy を呼び
//emlist[][ruby]{
obj2 = obj.class.allocate
obj2.initializ... -
BasicObject
# _ _ id _ _ -> Integer (3044.0) -
各オブジェクトに対して一意な整数を返します。あるオブジェクトに対し てどのような整数が割り当てられるかは不定です。
...各オブジェクトに対して一意な整数を返します。あるオブジェクトに対し
てどのような整数が割り当てられるかは不定です。
Object#object_id と同じですが、#object_id は BasicObject に
はない事に注意してください。
//emlist[例][r......e
obj = Object.new
obj.object_id == obj.__id__ # => true
Object.new.__id__ == Object.new.__id__ # => false
(21 * 2).__id__ == (21 * 2).__id__ # => true
"hello".__id__ == "hello".__id__ # => false
"hi".freeze.__id__ == "hi".freeze.__id__ # => true
//}
@see Object#object_... -
Object
# frozen? -> bool (3028.0) -
オブジェクトが凍結(内容の変更を禁止)されているときに真を返します。
...
オブジェクトが凍結(内容の変更を禁止)されているときに真を返します。
//emlist[][ruby]{
obj = "someone"
p obj.frozen? #=> false
obj.freeze
p obj.frozen? #=> true
//}
@see Object#freeze... -
Object
# taint -> self (3024.0) -
このメソッドは Ruby 2.7 から deprecated で、Ruby 3.2 で削除予定です。
...ecated で、Ruby 3.2 で削除予定です。
オブジェクトの「汚染マーク」をセットします。
環境変数(ENVで得られる文字列)など一部のオブジェクトは最初から汚染されています。
オブジェクトの汚染に関してはspec/safelevelを参......&%&(#!'"
p some.tainted? #=> 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... -
Psych
. safe _ load(yaml , permitted _ classes: [] , permitted _ symbols: [] , aliases: false , filename: nil , fallback: nil , symbolize _ names: false , freeze: false) -> object (277.0) -
安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
...安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
デフォルトでは以下のクラスのオブジェクトしか変換しません。
* TrueClass
* FalseClass
* NilClass
* Numeric
* String
* Array
* Hash
再帰的なデ......"bar"}
//}
キーワード引数 freeze に true を指定した場合は再帰的に
Object#freeze したオブジェクトを返します。
//emlist[freeze: true の例][ruby]{
require "psych"
data = <<~EOS
aaa:
bbb: [hoge]
EOS
yaml = Psych.load(data, freeze: true)
p yaml
# => {"aaa"=>{"bbb......load(yaml, permitted_classes: ...) instead.
Psych.safe_load("", [Date])
//}
@param io YAMLフォーマットの文書の読み込み先のIOオブジェクト。
@param permitted_classes 追加で読み込みを許可するクラスの配列。
@param permitted_symbols 引数 permitted_classesに S... -
ENV
. clone(freeze: true) -> object (223.0) -
ENV オブジェクトの複製を作成して返します。
...ENV オブジェクトの複製を作成して返します。
ENV は OS のプロセス全体で共有される環境変数を操作するラッパーオブジェクトなので、複製は有用ではありません。
そのため、3.1 からは複製で環境変数を操作するときに depr......ecated 警告がでます。
テスト実行中に環境変数を退避する用途には ENV.to_h を使用してください。
//emlist[][ruby]{
saved_env = ENV.to_h
# (テストなど)
ENV.replace(saved_env)
//}
@see Object#clone......ecated 警告がでます。
テスト実行中に環境変数を退避する用途には ENV.to_h を使用してください。
//emlist[][ruby]{
saved_env = ENV.to_h
# (テストなど)
ENV.replace(saved_env)
//}
@see Object#clone
@see ENV.dup... -
Psych
. safe _ load(yaml , legacy _ permitted _ classes=[] , legacy _ permitted _ symbols=[] , legacy _ aliases=false , legacy _ filename=nil) -> object (177.0) -
安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
...安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
デフォルトでは以下のクラスのオブジェクトしか変換しません。
* TrueClass
* FalseClass
* NilClass
* Numeric
* String
* Array
* Hash
再帰的なデ......"bar"}
//}
キーワード引数 freeze に true を指定した場合は再帰的に
Object#freeze したオブジェクトを返します。
//emlist[freeze: true の例][ruby]{
require "psych"
data = <<~EOS
aaa:
bbb: [hoge]
EOS
yaml = Psych.load(data, freeze: true)
p yaml
# => {"aaa"=>{"bbb......load(yaml, permitted_classes: ...) instead.
Psych.safe_load("", [Date])
//}
@param io YAMLフォーマットの文書の読み込み先のIOオブジェクト。
@param permitted_classes 追加で読み込みを許可するクラスの配列。
@param permitted_symbols 引数 permitted_classesに S... -
Rake
:: Cloneable # dup -> object (138.0) -
自身と同じクラスのオブジェクトを作成後、自身のインスタンス変数を 全て新たに作成したオブジェクトにコピーします。
...自身と同じクラスのオブジェクトを作成後、自身のインスタンス変数を
全て新たに作成したオブジェクトにコピーします。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
file_list = FileList['...