On Sep 20, 2007, at 7:26 PM, Rick DeNatale wrote: > Getting back to the original thread though, it's actually not quite > true that ranges require the starting and ending elements to implement > succ, Ah, I thought they did because of this excerpt from the Pickaxe: "So far weÃ×e shown ranges of numbers and strings. However, as youÃÅ expect from an object-oriented language, Ruby can create ranges based on objects that you define. The only constraints are that the objects must respond to succ by returning the next object in sequence and the objects must be comparable using <=>." Also, the documentation of Range says: "Ranges can be constructed using objects of any type, as long as the objects can be compared using their +<=>+ operator and they support the +succ+ method to return the next object in sequence." So, in what sense succ is not required? -- fxn