class NoMatchingPatternKeyError
公共类方法
new(message=nil, matchee: nil, key: nil) → no_matching_pattern_key_error 点击切换源代码
使用给定的消息、匹配对象和键构造一个新的 NoMatchingPatternKeyError
异常。
static VALUE no_matching_pattern_key_err_initialize(int argc, VALUE *argv, VALUE self) { VALUE options; rb_call_super(rb_scan_args(argc, argv, "01:", NULL, &options), argv); if (!NIL_P(options)) { ID keywords[2]; VALUE values[numberof(keywords)]; int i; keywords[0] = id_matchee; keywords[1] = id_key; rb_get_kwargs(options, keywords, 0, numberof(values), values); for (i = 0; i < numberof(values); ++i) { if (!UNDEF_P(values[i])) { rb_ivar_set(self, keywords[i], values[i]); } } } return self; }
公共实例方法
key → object 点击切换源代码
返回导致此 NoMatchingPatternKeyError
异常的键。
static VALUE no_matching_pattern_key_err_key(VALUE self) { VALUE key; key = rb_ivar_lookup(self, id_key, Qundef); if (!UNDEF_P(key)) return key; rb_raise(rb_eArgError, "no key is available"); }
matchee → object 点击切换源代码
返回与此 NoMatchingPatternKeyError
异常关联的匹配对象。
static VALUE no_matching_pattern_key_err_matchee(VALUE self) { VALUE matchee; matchee = rb_ivar_lookup(self, id_matchee, Qundef); if (!UNDEF_P(matchee)) return matchee; rb_raise(rb_eArgError, "no matchee is available"); }