るりまサーチ

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

別のキーワード

  1. _builtin new
  2. _builtin inspect
  3. _builtin []
  4. _builtin to_s
  5. _builtin each

クラス

キーワード

検索結果

FrozenError (46008.0)

Object#freezeされたオブジェクトを変更しようとした時に発生します。

...Object#freezeされたオブジェクトを変更しようとした時に発生します。


//emlist[例][ruby]{
[1, 2, 3].freeze << 4 # FrozenError: can't modify frozen Array
//}...

FrozenError.new(error_message = "") -> FrozenError (29116.0)

例外オブジェクトを生成して返します。

...オブジェクトを生成して返します。

@param error_message エラーメッセージを表す文字列です

@param receiver 原因となったメソッド呼び出しのレシーバです

//emlist[][ruby]{
err = FrozenError.new("message")
p err # => #<FrozenError: message>
//}...

FrozenError.new(error_message = "", receiver:) -> FrozenError (29116.0)

例外オブジェクトを生成して返します。

...オブジェクトを生成して返します。

@param error_message エラーメッセージを表す文字列です

@param receiver 原因となったメソッド呼び出しのレシーバです

//emlist[][ruby]{
err = FrozenError.new("message")
p err # => #<FrozenError: message>
//}...

FrozenError.new(error_message = "") -> FrozenError (29115.0)

例外オブジェクトを生成して返します。

...例外オブジェクトを生成して返します。

@param error_message エラーメッセージを表す文字列です


//emlist[][ruby]{
err = FrozenError.new("message")
p err # => #<FrozenError: message>
//}...

FrozenError#receiver -> object (29008.0)

self が発生した時のレシーバオブジェクトを返します。

...self が発生した時のレシーバオブジェクトを返します。

@raise ArgumentError レシーバが設定されていない時に発生します。

//emlist[][ruby]{
begin
[1, 2, 3].freeze << 4
rescue FrozenError => err
p err.receiver # => [1, 2, 3]
end
//}...

絞り込み条件を変える

Object#freeze -> self (8020.0)

オブジェクトを凍結(内容の変更を禁止)します。

...オブジェクトを凍結(内容の変更を禁止)します。

凍結されたオブジェクトの変更は
例外 FrozenError を発生させます。
いったん凍結されたオブジェクトを元に戻す方法はありません。

凍結されるのはオブジェクトであり...
...します。

//emlist[][ruby]{
a1 = "foo".freeze
a1 = "bar"
p a1 #=> "bar"

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,Kerne...

Module#freeze -> self (8014.0)

モジュールを凍結(内容の変更を禁止)します。

...

凍結したモジュールにメソッドの追加など何らかの変更を加えようとした場合に
FrozenError

が発生します。

@see Object#freeze

//emlist[例][ruby]{
module Foo; end
Foo.freeze

module Foo
def foo; end
end # => FrozenError: can't modify frozen module
//}...

Hash (8008.0)

ハッシュテーブル(連想配列とも呼ぶ)のクラスです。ハッシュは任意の種類のオブ ジェクト(キー)から任意の種類のオブジェクト(値)への関連づけを行うことができます。

...bject#freeze) してキーとして
使用します。この為、キーとして使われている文字列を更新しようとすると例外
FrozenError

が発生するので rehash を呼ぶ必要性は生じません。

ハッシュにはデフォルト値を設定することができます...

Hash.new(ifnone = nil) -> Hash (8008.0)

空の新しいハッシュを生成します。ifnone はキーに対 応する値が存在しない時のデフォルト値です。設定したデフォルト値はHash#defaultで参照できます。

...#=> ["bar"]
p h[1] #=> ["bar"]

p h[2] #=> ["bar"]
p h[2].object_id #=> 6127150

p h #=> {}


h = Hash.new([].freeze)
h[0] += [0] #破壊的でないメソッドはOK
h[1] << 1
# エラー: can't modify frozen Array (FrozenError)
//}...

Hash.new {|hash, key| ... } -> Hash (8003.0)

空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になりま す。設定したデフォルト値はHash#default_procで参照できます。

空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になりま
す。設定したデフォルト値はHash#default_procで参照できます。

値が設定されていないハッシュ要素を参照するとその都度ブロックを
実行し、その結果を返します。
ブロックにはそのハッシュとハッシュを参照したときのキーが渡されます。

@raise ArgumentError ブロックと通常引数を同時に与えると発生します。

//emlist[例][ruby]{
# ブロックではないデフォルト値は全部同一のオブジェクトなので、
# 破壊的変更によって他のキーに対応する値も変更されます。
h = Hash.new...

絞り込み条件を変える