From: David MacMahon Date: 2013-10-25T21:53:03-07:00 Subject: [ruby-core:58043] Re: [ruby-trunk - Feature #9049] Shorthands (a:b, *) for inclusive indexing On Oct 25, 2013, at 8:43 PM, boris_stitnicky (Boris Stitnicky) wrote: > @david_macmahon, mohawkjohn: Colon is busy, how about harassing % ? > > %s/1 1e6 step 12/ # %s would mean series, returning an enumerator I don't think that offers any benefit over just creating a factory method for creating Ranges (augmented with a step size attribute). For example def _(first,last,step=1); Range.new(first,last,false,step); end ...which would be used like... _(1,1e6,12) Of course the "real" definition would probably use *args and be smart about 2 vs 3 args to allow step to be given as an optional 2nd argument. Even still, using the colon to specify ranges is far more compact and already used in a variety of other languages for that purpose. In addition to Matlab/Octave and Python, it also is used to specify ranges in R, Verilog, and to some degree even in Excel spreadsheets (for ranges of cells). Is your objection to using the colon technical (e.g. impracticality of parsing) or philosophical? Thanks, Dave