Method: Regexp#eql?
- Defined in:
- re.c
#==(object) ⇒ Boolean
Returns true
if object
is another Regexp whose pattern, flags, and encoding are the same as self
, false
otherwise:
/foo/ == Regexp.new('foo') # => true
/foo/ == /foo/i # => false
/foo/ == Regexp.new('food') # => false
/foo/ == Regexp.new("abc".force_encoding("euc-jp")) # => false
3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 |
# File 're.c', line 3533 VALUE rb_reg_equal(VALUE re1, VALUE re2) { if (re1 == re2) return Qtrue; if (!RB_TYPE_P(re2, T_REGEXP)) return Qfalse; rb_reg_check(re1); rb_reg_check(re2); if (FL_TEST(re1, KCODE_FIXED) != FL_TEST(re2, KCODE_FIXED)) return Qfalse; if (RREGEXP_PTR(re1)-> != RREGEXP_PTR(re2)->) return Qfalse; if (RREGEXP_SRC_LEN(re1) != RREGEXP_SRC_LEN(re2)) return Qfalse; if (ENCODING_GET(re1) != ENCODING_GET(re2)) return Qfalse; return RBOOL(memcmp(RREGEXP_SRC_PTR(re1), RREGEXP_SRC_PTR(re2), RREGEXP_SRC_LEN(re1)) == 0); } |