From: Trans Date: 2005-11-24T04:12:25+09:00 Subject: Re: string range membership > I can't find this discussion in the archive. Can you give me a link > or a message number? Largely from Ruby-talk 115120, although the solution really came about on the old suby-muse mailing list. I'm not sure everyone understood me though. The problem is that String's #<=> and #succ methods are not compatible. Therefore Range#member? and Rage#include? which use #<=> can not provide proper results for String-based Ranges. The solution is to have Range use a different comparision method, namely #cmp. In most classes #cmp will of course just be an alias for #<=>, but it String is would differ to be compatible with #succ, and then #include and #member would be correct. Q.E.D. T.