Feature #12996 » range_eqq2.patch
range.c | ||
---|---|---|
return rb_exec_recursive(inspect_range, range, 0);
|
||
}
|
||
VALUE rb_str_include_range_p(VALUE beg, VALUE end, VALUE val, VALUE exclusive);
|
||
/*
|
||
* call-seq:
|
||
* rng === obj -> true or false
|
||
... | ... | |
static VALUE
|
||
range_eqq(VALUE range, VALUE val)
|
||
{
|
||
VALUE beg = RANGE_BEG(range);
|
||
VALUE end = RANGE_END(range);
|
||
if (FIXNUM_P(beg) || FIXNUM_P(end)) {
|
||
return r_cover_p(range, beg, end, val);
|
||
}
|
||
else if (RB_TYPE_P(beg, T_STRING) && RB_TYPE_P(end, T_STRING)) {
|
||
return rb_str_include_range_p(beg, end, val, RANGE_EXCL(range));
|
||
}
|
||
return rb_funcall(range, rb_intern("include?"), 1, val);
|
||
}
|
||
... | ... | |
return r_cover_p(range, beg, end, val);
|
||
}
|
||
else if (RB_TYPE_P(beg, T_STRING) && RB_TYPE_P(end, T_STRING)) {
|
||
VALUE rb_str_include_range_p(VALUE beg, VALUE end, VALUE val, VALUE exclusive);
|
||
return rb_str_include_range_p(beg, end, val, RANGE_EXCL(range));
|
||
}
|
||
/* TODO: ruby_frame->this_func = rb_intern("include?"); */
|
- « Previous
- 1
- 2
- Next »