Provide step count in Range constructor
I would like to propose making changes to the Range constructor so that a user can specify
step count along with
stop. Since Ruby 2.6 will introduce a
in Ranges anyway I think this will be a useful addition.
Here's my reasons for the changes:
When creating software libraries for numerical computing, it is common to query the data
container for values in a particular range at some given steps. For example, say I have the
following NArray object:
a = NArray.new([1,2,3,4,5,6,7,8,9,10,11,12])
And I want the values
12, I can simply specify a Range like this:
r = Range.new 0, Float::INFINITY, 3 # start, stop (upto the end), step a[r] # => NArray([1, 4, 7, 10, 12])
This can possibly also be extended to
Array# so that users can get ranges of values at
steps without much worry.