From: Dave Howell Date: 2005-12-01T09:02:03+09:00 Subject: Re: [BUG] string range membership English speaker. Relative new Ruby user. My thoughts: forget it! Stop! Ahhhh! Kitchen sink! Let's see if I've got this straight. Somebody complained because ('1'..'10').member?('2') => false Good! The fact that Ruby will get incredibly clever with strings and fabricate arbitrary sequences with them is a charming trick, but they are arbitrary, and it is a trick. The fact that '1', '2', ... '9','10' is obvious doesn't make it any less arbitrary. '1'..'100' Is that supposed to be 1, 2, 3, ... 99, 100 or 1, 10, 11, 100? Ruby arbitrarily decided to interpret those strings as base 10 integers. 'a.1'..'c.3' Quite honestly, I have absolutely no idea how Ruby would count that. Will I get 'a.1', 'a.2', 'a.3', 'b.1' ... or is it going to go all the way to 'a.9' and then start over with 'b.1'? Ruby does NOT need more almost-but-not-quite-the-same methods! People sophisticated enough to require access to the subtle differences are sophisticated enough to fix them problem themselves, by modifying the necessary code, or by finding somebody else's recommended modification and using that. Please. The tremendous ease with which Ruby can be extended is all the more reason to keep the core set tight, small, clean, and thus more comprehensible and more accessible to beginners. I can't even count how many different ways there are to open a file! I'd so much rather have one way, with one thorough explanation, and notes on its shortcomings, than seven, or whatever, each with just a sketchy description. In closing: ('1'..'10').to_a.member?('2') => true Is that really such a big deal?