Looping through an array with step

2020-02-09 06:21发布

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.

7条回答
forever°为你锁心
2楼-- · 2020-02-09 07:11

This is a great example for the use of the modulo operator %

When you grasp this concept, you can apply it in a great number of different programming languages, without having to know them in and out.

step = 2
["1st","2nd","3rd","4th","5th","6th"].each_with_index do |element, index|
  puts element if index % step == 1
end

#=> "2nd"
#=> "4th"
#=> "6th"
查看更多
登录 后发表回答