From: Dave Thomas Date: 2008-03-15T05:28:40+09:00 Subject: Range#member? semantics seem wrong Range#member? has been changed so that it the start and end of the range are scalars, then member?(val) is the same as min <= val <= max This means that (1..5).member?(3.5) returns true. In 1.8, member meant that the value was one of the possible elements in the range (so was effectively the same as range.to.include?(val). It seem to me that the old way was more intuitive. We now have three methods on range (===, include?, and member?) that all do the same thing, and none allow you to test for membership. Dave