ライブラリ
クラス
- BasicObject (12)
- CSV (24)
- Delegator (12)
- ERB (12)
- FrozenError (6)
-
Gem
:: Requirement (12) - Hash (24)
- MatchData (12)
- Module (12)
- Object (69)
- OpenStruct (12)
-
REXML
:: Element (48) - Set (24)
- String (23)
- StringScanner (48)
- Symbol (5)
- Thread (36)
- ThreadGroup (24)
モジュール
- Psych (8)
-
Rake
:: Cloneable (12)
オブジェクト
- ENV (18)
キーワード
- +@ (10)
- -@ (10)
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - Converters (12)
- ENV (12)
- FrozenError (8)
- Hash (12)
- HeaderConverters (12)
- Id (12)
- Marshal フォーマット (12)
-
NEWS for Ruby 2
. 1 . 0 (12) -
NEWS for Ruby 2
. 3 . 0 (10) -
NEWS for Ruby 2
. 4 . 0 (9) -
NEWS for Ruby 2
. 5 . 0 (8) -
NEWS for Ruby 2
. 7 . 0 (6) -
NEWS for Ruby 3
. 0 . 0 (5) -
NEWS for Ruby 3
. 1 . 0 (4) -
OBJ
_ FREEZE (12) - OPS (12)
- Range (4)
- Regexp (4)
- Rubyの起動 (12)
- SSLContext (12)
- Set (3)
- ThreadError (12)
- ThreadGroup (12)
- Version (12)
-
_ _ id _ _ (12) - add (12)
- cdatas (12)
- clone (36)
- comments (12)
- dedup (3)
- dup (36)
- enclosed? (12)
- fork (12)
- frozen? (12)
-
initialize
_ copy (12) - instructions (12)
-
irb
/ completion (12) - modifiable (12)
- name (5)
- new (48)
-
rb
_ obj _ freeze (12) - receiver (6)
-
ruby 1
. 6 feature (12) -
safe
_ load (8) - set (9)
- src (12)
- start (12)
- string (24)
- taint (9)
- texts (12)
検索結果
先頭5件
-
Object
# freeze -> self (18131.0) -
オブジェクトを凍結(内容の変更を禁止)します。
...クトであり、変数ではありません。代入などで変数の指す
オブジェクトが変化してしまうことは freeze では防げません。 freeze が防ぐのは、
`破壊的な操作' と呼ばれるもの一般です。変数への参照自体を凍結したい
場合は......a2 = "foo".freeze
a2.replace("bar") # can't modify frozen String (RuntimeError)
//}
凍結を解除することはできませんが、Object#dup を使えばほぼ同じ内容の凍結されていない
オブジェクトを得ることはできます。
//emlist[][ruby]{
a = [1].freeze
p a.froze......a2 = "foo".freeze
a2.replace("bar") # can't modify frozen String (FrozenError)
//}
凍結を解除することはできませんが、Object#dup を使えばほぼ同じ内容の凍結されていない
オブジェクトを得ることはできます。
//emlist[][ruby]{
a = [1].freeze
p a.frozen... -
ENV
. freeze -> () (18117.0) -
ENV.freeze は環境変数の変更を禁止できないため、TypeErrorを発生させます。
...ENV.freeze は環境変数の変更を禁止できないため、TypeErrorを発生させます。... -
Module
# freeze -> self (18113.0) -
モジュールを凍結(内容の変更を禁止)します。
...。
凍結したモジュールにメソッドの追加など何らかの変更を加えようとした場合に
FrozenError
が発生します。
@see Object#freeze
//emlist[例][ruby]{
module Foo; end
Foo.freeze
module Foo
def foo; end
end # => FrozenError: can't modify frozen module
//}... -
Delegator
# freeze -> self (18107.0) -
自身を凍結します。
...自身を凍結します。
@see Object#freeze... -
VALUE rb
_ obj _ freeze(VALUE obj) (6116.0) -
Object#freeze
...Object#freeze... -
void OBJ
_ FREEZE(VALUE x) (6100.0) -
-
Object
# clone(freeze: nil) -> object (167.0) -
オブジェクトの複製を作成して返します。
...ジェクトの複製を作成して返します。
dup はオブジェクトの内容, taint 情報をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。
clone や dup は浅い(shallow)コピーであることに......@param freeze true を指定すると freeze されたコピーを返します。
false を指定すると freeze されていないコピーを返します。
nil を指定すると、レシーバが freeze されていれば freeze されたコピーを、freeze され......ていなければ freeze されていないコピーを返します。
@raise ArgumentError TrueClass などの常に freeze されているオブジェクトの freeze されていないコピーを作成しようとしたときに発生します。
//emlist[][ruby]{
obj = "string"
obj.taint
def......オブジェクトの複製を作成して返します。
dup はオブジェクトの内容をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。
clone や dup は浅い(shallow)コピーであることに注意し......ば freeze されていないコピーを返します。
@raise ArgumentError TrueClass などの常に freeze されているオブジェクトの freeze されていないコピーを作成しようとしたときに発生します。
//emlist[][ruby]{
obj = "string"
def obj.fuga
end
obj.freeze... -
Psych
. safe _ load(yaml , permitted _ classes: [] , permitted _ symbols: [] , aliases: false , filename: nil , fallback: nil , symbolize _ names: false , freeze: false) -> object (137.0) -
安全に YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。
..."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......true を指定した場合は変換します。デフォルトでは
文字列に変換されます。
@param freeze true を指定すると再帰的に freeze されたオブジェクトを返します。
デフォルトは false です。... -
ENV
. clone(freeze: true) -> object (101.0) -
ENV オブジェクトの複製を作成して返します。
ENV オブジェクトの複製を作成して返します。
ENV は OS のプロセス全体で共有される環境変数を操作するラッパーオブジェクトなので、複製は有用ではありません。
そのため、3.1 からは複製で環境変数を操作するときに deprecated 警告がでます。
テスト実行中に環境変数を退避する用途には ENV.to_h を使用してください。
//emlist[][ruby]{
saved_env = ENV.to_h
# (テストなど)
ENV.replace(saved_env)
//}
@see Object#cloneENV オブジェクトの複製を作成して返します。
ENV は OS のプロセス全体で共有される環境変数を操作するラッパーオブジェクトなので、複製は有用ではありません。
そのため、3.1 からは複製で環境変数を操作するときに deprecated 警告がでます。
テスト実行中に環境変数を退避する用途には ENV.to_h を使用してください。
//emlist[][ruby]{
saved_env = ENV.to_h
# (テストなど)
ENV.replace(saved_env)
//}
@see Object#clone
@see ENV.dup -
Object
# dup -> object (67.0) -
オブジェクトの複製を作成して返します。
...ジェクトの複製を作成して返します。
dup はオブジェクトの内容, taint 情報をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。
clone や dup は浅い(shallow)コピーであることに......@param freeze true を指定すると freeze されたコピーを返します。
false を指定すると freeze されていないコピーを返します。
nil を指定すると、レシーバが freeze されていれば freeze されたコピーを、freeze され......ていなければ freeze されていないコピーを返します。
@raise ArgumentError TrueClass などの常に freeze されているオブジェクトの freeze されていないコピーを作成しようとしたときに発生します。
//emlist[][ruby]{
obj = "string"
obj.taint
def......オブジェクトの複製を作成して返します。
dup はオブジェクトの内容をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。
clone や dup は浅い(shallow)コピーであることに注意し......ば freeze されていないコピーを返します。
@raise ArgumentError TrueClass などの常に freeze されているオブジェクトの freeze されていないコピーを作成しようとしたときに発生します。
//emlist[][ruby]{
obj = "string"
def obj.fuga
end
obj.freeze...