From: Brian Candler Date: 2004-10-08T20:39:18+09:00 Subject: Re: Range behavior (Re: [RCR] New [] Semantics) On Fri, Oct 08, 2004 at 05:31:41PM +0900, Yukihiro Matsumoto wrote: > planA - leave member? and include? as they are; they are very easy > to distinguish, and to remember. why bother? In this case, also change the documentation of Enumeration to state that whilst Enumeration#include? and Enumeration#member? do the same thing, that they are intended for different purposes (and in particular, that Range#include? is different from Range#member?) That for me is the biggest problem - confusion caused by the fact that I expected them to be the same, because Enumerable says they are aliases. > planB - making member? as alias to include?; they behave same. no > confusion, no problem. who wants membership for ranges? Hmm, actually that's a pretty good idea IMO. Does anyone care to keep (0..3).member?(2.5) # => false ? I doubt it. There's almost always a direct (non-interative) way to test that anyway with a Range; nobody wants to iterate for hours to discover (0..100000000).member?(2.5) # => false Remember the problem which triggered all this off, was testing ranges with infinite bounds... OK, I think that gets my vote. Cheers, Brian.