14

私はこのように繰り返すことができます

(0..10).step(2){|v| puts v}

しかし、逆の範囲は空の範囲に等しいため、この方法を繰り返すことはできません

(10..0).step(2){|v| puts v}

それは私に何の利益ももたらしません。もちろん、このように逆方向に繰り返すこともできます

10.downto(0){|v| puts v}

しかし、downto メソッドでは、デフォルト 1 以外の他のステップを設定することはできません。これは非常に基本的なものなので、これを行う組み込みの方法があるはずですが、わかりません。

4

3 に答える 3

4

step必要のない値をスキップすることで、エミュレートするのは非常に簡単です。このようなもの:

10.downto(0).each_with_index do |x, idx|
  next if idx % 3 != 0 # every third element
  puts x
end
# >> 10
# >> 7
# >> 4
# >> 1
于 2013-03-30T06:04:47.660 に答える