summaryrefslogtreecommitdiff
path: root/range.c
diff options
context:
space:
mode:
Diffstat (limited to 'range.c')
-rw-r--r--range.c23
1 files changed, 20 insertions, 3 deletions
diff --git a/range.c b/range.c
index 15615a46bc..0d00c93cab 100644
--- a/range.c
+++ b/range.c
@@ -629,8 +629,6 @@ range_inspect(VALUE range)
/*
* call-seq:
* rng === obj => true or false
- * rng.member?(val) => true or false
- * rng.include?(val) => true or false
*
* Returns <code>true</code> if <i>obj</i> is an element of
* <i>rng</i>, <code>false</code> otherwise. Conveniently,
@@ -649,6 +647,25 @@ range_inspect(VALUE range)
*/
static VALUE
+range_eqq(VALUE range, VALUE val)
+{
+ return rb_funcall(range, rb_intern("include?"), 1, val);
+}
+
+
+/*
+ * call-seq:
+ * rng.member?(val) => true or false
+ * rng.include?(val) => true or false
+ *
+ * Returns <code>true</code> if <i>obj</i> is an element of
+ * <i>rng</i>, <code>false</code> otherwise.
+ *
+ * ("a".."z").include?("g") # => true
+ * ("a".."z").include?("A") # => false
+ */
+
+static VALUE
range_include(VALUE range, VALUE val)
{
VALUE beg = rb_ivar_get(range, id_beg);
@@ -769,7 +786,7 @@ Init_Range(void)
rb_include_module(rb_cRange, rb_mEnumerable);
rb_define_method(rb_cRange, "initialize", range_initialize, -1);
rb_define_method(rb_cRange, "==", range_eq, 1);
- rb_define_method(rb_cRange, "===", range_include, 1);
+ rb_define_method(rb_cRange, "===", range_eqq, 1);
rb_define_method(rb_cRange, "eql?", range_eql, 1);
rb_define_method(rb_cRange, "hash", range_hash, 0);
rb_define_method(rb_cRange, "each", range_each, 0);