класс NoMethodError
Возникает, когда метод вызывается на получателе, у которого он не определен, и также не удаётся ответить с method_missing.
"hello".to_ary
вызывает исключение:
NoMethodError: undefined method `to_ary' for "hello":String
Общедоступные методы класса
new(msg, name [, args]) → no_method_error Показать исходный код
static VALUE
nometh_err_initialize(int argc, VALUE *argv, VALUE self)
{
VALUE args = (argc > 2) ? argv[--argc] : Qnil;
name_err_initialize(argc, argv, self);
rb_ivar_set(self, id_args, args);
return self;
} Создаёт исключение NoMethodError для метода с заданным именем, вызванного с заданными аргументами. Имя можно получить, используя метод #name на полученном объекте, а аргументы — с помощью метода #args.
Общедоступные методы экземпляра
args → obj Показать исходный код
static VALUE
nometh_err_args(VALUE self)
{
return rb_attr_get(self, id_args);
} Возвращает аргументы, переданные в качестве третьего параметра конструктору.
Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.