類別 FrozenError

當嘗試修改凍結物件時引發。

[1, 2, 3].freeze << 4

引發例外

FrozenError: can't modify frozen Array

公開類別方法

new(msg=nil, receiver: nil) → frozen_error 按一下以切換來源

建構新的 FrozenError 例外。如果給定 receiver 參數,稍後可以使用 FrozenError#receiver 方法檢查。

a = [].freeze
raise FrozenError.new("can't modify frozen array", receiver: a)
static VALUE
frozen_err_initialize(int argc, VALUE *argv, VALUE self)
{
    ID keywords[1];
    VALUE values[numberof(keywords)], options;

    argc = rb_scan_args(argc, argv, "*:", NULL, &options);
    keywords[0] = id_receiver;
    rb_get_kwargs(options, keywords, 0, numberof(values), values);
    rb_call_super(argc, argv);
    err_init_recv(self, values[0]);
    return self;
}

公開實例方法

receiver → object 按一下以切換來源

傳回與此 FrozenError 例外相關聯的接收器。

#define frozen_err_receiver name_err_receiver