On Mar 27, 2008, at 6:23 PM, Daniel DeLorme wrote:
> Then there's also some ambiguity in the naming of the methods. To  
> me, "include?" and "cover?" sound like they express continuous  
> behavior but "member?" does sound like it expresses discrete behavior.

I think cover? and === are definite synonyms, and imply start <= value  
<[=] end

I think include? is kinda on the fence, but leans towards member?

And I think member implies a set, and hence should be the same as

    !!range.detect(value)

> Since this is open to interpretation, I would suggest like David  
> that the behavior should remain backward compatible. Besides, it's  
> always possible to test for discrete membership by converting to enum.

and it's always possible to test for continuous membership using one  
of the three other available methods...


> Oh I just thought of an interesting case; given that 2.hash !=  
> 2.0.hash then by using set semantics shouldn't (1..3).include?(2.0)  
> return false?

Yes, I believe it should. I don't believe it because of the hash, but  
because set membership is based on eql?


Dave