Я работаю с ленивой итерацией и хотел бы указать несколько шагов для этой итерации. Это означает, что я хочу, чтобы шаг чередовался между a
и b
. Так, если бы я имел это как диапазон (не ленивый только для упрощения)Есть ли способ указать многоэтапный шаг в Ruby?
(1..20).step(2, 4)
Я хочу, чтобы мой полученный диапазон будет
1 # + 2 =
3 # + 4 =
7 # + 2 =
9 # + 4 =
13 # + 2 =
15 # + 4 =
19 # + 2 = 21 (out of range, STOP ITERATION)
Однако, я не могу понять способ сделать это. Возможно ли это в Ruby?
Какой должен быть первый элемент? '1' или' 3'? Это '1' для' (1..20) .step (2) ', так что это соглашение, которое я использовал для своего ответа. –