種類
- インスタンスメソッド (211)
- 特異メソッド (92)
- 文書 (45)
クラス
- BasicObject (12)
- Delegator (12)
- ERB (12)
- FrozenError (6)
- Hash (24)
- Module (12)
- Object (69)
- OpenStruct (12)
- Set (24)
- String (23)
- StringScanner (12)
- Symbol (5)
- Thread (36)
- ThreadGroup (24)
モジュール
- Psych (8)
オブジェクト
- ENV (12)
キーワード
- +@ (10)
- -@ (10)
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - Marshal フォーマット (12)
-
NEWS for Ruby 3
. 0 . 0 (5) -
NEWS for Ruby 3
. 1 . 0 (4) -
_ _ id _ _ (12) - add (12)
- clone (36)
- dedup (3)
- dup (24)
- enclosed? (12)
- fork (12)
- frozen? (12)
-
initialize
_ copy (12) - modifiable (12)
- name (5)
- new (48)
- receiver (6)
-
ruby 1
. 6 feature (12) -
safe
_ load (8) - src (12)
- start (12)
- taint (9)
検索結果
先頭5件
-
Object
# freeze -> self (18143.0) -
オブジェクトを凍結(内容の変更を禁止)します。
...変化してしまうことは freeze では防げません。 freeze が防ぐのは、
`破壊的な操作' と呼ばれるもの一般です。変数への参照自体を凍結したい
場合は、グローバル変数なら Kernel.#trace_var が使えます。
@return self を返します。......a2 = "foo".freeze
a2.replace("bar") # can't modify frozen String (RuntimeError)
//}
凍結を解除することはできませんが、Object#dup を使えばほぼ同じ内容の凍結されていない
オブジェクトを得ることはできます。
//emlist[][ruby]{
a = [1].freeze
p a.froze......n? #=> 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......a2 = "foo".freeze
a2.replace("bar") # can't modify frozen String (FrozenError)
//}
凍結を解除することはできませんが、Object#dup を使えばほぼ同じ内容の凍結されていない
オブジェクトを得ることはできます。
//emlist[][ruby]{
a = [1].freeze
p a.frozen......? #=> true
a[0] = "foo"
p a # can't modify frozen Array (FrozenError)
b = a.dup
p b #=> [1]
p b.frozen? #=> false
b[0] = "foo"
p b #=> ["foo"]
//}
@see Object#frozen?,Object#dup,Kernel.#trace_var... -
Module
# freeze -> self (18119.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 (18113.0) -
自身を凍結します。
...自身を凍結します。
@see Object#freeze... -
String
# -@ -> String | self (6160.0) -
self が freeze されている文字列の場合、self を返します。 freeze されていない場合は元の文字列の freeze された (できる限り既存の) 複製を返します。
...self が freeze されている文字列の場合、self を返します。
freeze されていない場合は元の文字列の freeze された (できる限り既存の) 複製を返します。
//emlist[例][ruby]{
# frozen_string_literal: false
original_text = "text"
frozen_text = -original_......t == frozen_text # => true
original_text.equal?(frozen_text) # => false
original_text = "text".freeze
frozen_text = -original_text
frozen_text.frozen? # => true
original_text == frozen_text # => true
original_text.equal?(frozen_text) # => true
//}
@see String#+@... -
String
# +@ -> String | self (6144.0) -
self が freeze されている文字列の場合、元の文字列の複製を返します。 freeze されていない場合は self を返します。
...self が freeze されている文字列の場合、元の文字列の複製を返します。
freeze されていない場合は self を返します。
//emlist[例][ruby]{
# frozen_string_literal: false
original_text = "text"
unfrozen_text = +original_text
unfrozen_text.frozen?......_text # => true
original_text.equal?(unfrozen_text) # => true
original_text = "text".freeze
unfrozen_text = +original_text
unfrozen_text.frozen? # => false
original_text == unfrozen_text # => true
original_text.equal?(unfrozen_text) # => false
//}
@see String#-@... -
String
# dedup -> String | self (3060.0) -
self が freeze されている文字列の場合、self を返します。 freeze されていない場合は元の文字列の freeze された (できる限り既存の) 複製を返します。
...self が freeze されている文字列の場合、self を返します。
freeze されていない場合は元の文字列の freeze された (できる限り既存の) 複製を返します。
//emlist[例][ruby]{
# frozen_string_literal: false
original_text = "text"
frozen_text = -original_......t == frozen_text # => true
original_text.equal?(frozen_text) # => false
original_text = "text".freeze
frozen_text = -original_text
frozen_text.frozen? # => true
original_text == frozen_text # => true
original_text.equal?(frozen_text) # => true
//}
@see String#+@... -
Object
# clone(freeze: nil) -> object (185.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.tain......オブジェクトの複製を作成して返します。
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 (185.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......permitted_classes: ...) instead.
Psych.safe_load("", [Date])
//}
@param io YAMLフォーマットの文書の読み込み先のIOオブジェクト。
@param permitted_classes 追加で読み込みを許可するクラスの配列。
@param permitted_symbols 引数 permitted_classesに Symbol を......省略した場合は全ての Symbol を許可します。
@param aliases エイリアスの読み込みを許可するかどうか。
@param filename Psych::SyntaxError 発生時にファイル名として表示する文字列。
@param fallback 引数 yaml に空のYAMLを指定した場合... -
ENV
. clone(freeze: true) -> object (113.0) -
ENV オブジェクトの複製を作成して返します。
...3.1 からは複製で環境変数を操作するときに deprecated 警告がでます。
テスト実行中に環境変数を退避する用途には ENV.to_h を使用してください。
//emlist[][ruby]{
saved_env = ENV.to_h
# (テストなど)
ENV.replace(saved_env)
//}
@see Object#clone......複製で環境変数を操作するときに deprecated 警告がでます。
テスト実行中に環境変数を退避する用途には ENV.to_h を使用してください。
//emlist[][ruby]{
saved_env = ENV.to_h
# (テストなど)
ENV.replace(saved_env)
//}
@see Object#clone
@see ENV.dup... -
ruby 1
. 6 feature (102.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...[]
=> ruby 1.6.7 (2002-08-01) [i586-linux]
["bar"]
: 2002-06-13 Hash[]
Hash[] で、キーとなる文字列を dup & freeze していませんでした。
a = "key"
h = Hash[a,"val"]
h.keys[0].upcase!
p a
=> ruby 1.6.7 (2002-03-......>))
Object.new.instance_eval {
p remove_instance_variable :@foo
}
=> ruby 1.6.7 (2002-03-01) [i586-linux]
nil
=> -:2:in `remove_instance_variable': instance variable @foo not defined (NameError)
ruby 1.6.7 (2002-04-10) [i586-linux]
:......わることはなくなりました。((<ruby-dev:17876>))
class Foo
FOO = 1
@@foo = 1
end
FOO = 2
@@foo = 2
Foo.module_eval { p FOO, @@foo }
=> ruby 1.6.7 (2002-03-01) [i586-linux]
1
1
=> ruby 1.... -
Object
# dup -> object (85.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.tain...