instance method Range#%

step(s = 1) {|item| ... } -> self[permalink][rdoc][edit]
step(s = 1) -> Enumerator
step(s = 1) -> Enumerator::ArithmeticSequence
self % s -> Enumerator
self % s -> Enumerator::ArithmeticSequence

範囲内の要素を s おきに繰り返します。

[PARAM] s:
各ステップの大きさを数値で指定します。負の数を指定することもできます。
[RETURN]
ブロックを指定した時は self を返します。
[RETURN]
ブロックを指定しなかった時かつ数値の Range の時は Enumerator::ArithmeticSequence を返します。
[RETURN]
ブロックを指定しなかったその他の Range の時は Enumerator を返します。(例: String の Range)


(1..10).step(3) {|v| p v}
# => 1
#    4
#    7
#    10

("a".."f").step(2) {|v| p v}
# => "a"
#    "c"
#    "e"

(10..0).step(-3) {|v| p v}
# => 10
#     7
#     4
#     1