るりまサーチ

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

別のキーワード

  1. _builtin freeze
  2. module freeze
  3. object freeze
  4. delegate freeze
  5. delegator freeze

ライブラリ

クラス

モジュール

オブジェクト

キーワード

検索結果

<< 1 2 3 ... > >>

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...
<< 1 2 3 ... > >>