我想查看一个数组中的每个第n个元素.在C中,我会这样做:
for(int x = 0; x<cx; x+=n){ value_i_care_about = array[x]; //do something with the value I care about. }
我想在Ruby中做同样的事情,但是找不到“步”的方法.一个while循环可以做这个工作,但是我发现它使用它已知的大小令人厌恶,并期望有一个更好的(更多的Ruby)的方式来做到这一点.
解决方法
范围有一个步骤方法可以用来跳过索引:
(0..array.length - 1).step(2).each do |index| value_you_care_about = array[index] end
或者如果你舒适地使用…与范围以下是更简洁一些:
(0...array.length).step(2).each do |index| value_you_care_about = array[index] end