mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* range.c (range_eqq): call_super() in === does not work well
since Enumerable#=== has different behavior. [ruby-dev:31296] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
d134991730
commit
6d9a4f510c
2 changed files with 25 additions and 3 deletions
|
@ -1,3 +1,8 @@
|
|||
Thu Jul 26 20:40:25 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||
|
||||
* range.c (range_eqq): call_super() in === does not work well
|
||||
since Enumerable#=== has different behavior. [ruby-dev:31296]
|
||||
|
||||
Thu Jul 26 13:57:45 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* dln.c (load_1, dln_find_1): constified.
|
||||
|
|
23
range.c
23
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,
|
||||
|
@ -648,6 +646,25 @@ range_inspect(VALUE range)
|
|||
* high
|
||||
*/
|
||||
|
||||
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)
|
||||
{
|
||||
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue