I want to look at every n-th elements in an array. In C++, I'd do this:
for(int x = 0; x<cx; x+=n){
value_i_care_about = array[x];
//do something with the value I care about.
}
I want to do the same in Ruby, but can't find a way to "step". A while
loop could do the job, but I find it distasteful using it for a known size, and expect there to be a better (more Ruby) way of doing this.
What about:
Chaining of iterators is very useful.
Just use step() method from Range class which returns an enumerator
Ranges have a
step
method which you can use to skip through the indexes:Or if you are comfortable using
...
with ranges the following is a bit more concise:You could add the method to the class Array
We can iterate while skipping over a range of numbers on every iteration e.g.:
http://www.skorks.com/2009/09/a-wealth-of-ruby-loops-and-iterators/
So something like: