From: Brian Guthrie Date: 2006-08-03T23:56:12+09:00 Subject: Re: A left-exclusive Range class Cyrus Hall wrote: > The current Range class in ruby is quite useful, however, I was recently > trying to capture a simple algorithm and ended up needing to express > left-exclusion. This is the one feature ruby currently does not support > in its Range class. > > I did some digging into 1.8.4's Range implementation and it appears > that the changes needed to support left-exclusion would be minimal. > Rather, the problem seems syntactical. Currently '..' and '...' are > used to represent right-inclusion and -exclusion, respectively. This > syntax clearly can not be extended to left-exclusion. There appears to > have been a related debate about this on ruby-talk back in Oct. 2004, > with the conclusion being, to paraphrase the entire discussion, "this is > hard, lets forget about it for now." > > Has this been discussed since 2004? Would people be interested in > finding a way to get left-exclusion into the Range class? This may be > something that has been addressed in all the language work going into > 1.9/2.0, and if so, any pointers would be greatly appreciated. > > Ciao, > Cyrus Hall You could try just appropriating a different piece of syntax and using it for your own evil purposes, e.g. << class Fixnum def <<(number) (self + 1)..number end end for i in 1<<10 # i starts at 2 end Brian Guthrie