Я пытаюсь написать код, в котором последовательность перечислений перемотана в начало.Как отменить внутреннее положение под #each?
Я думаю, что rewind
подходит для этого приложения, но я не уверен, как его реализовать под итератором each
, переходящим в блок? В примере с Ruby-Docs next
используется для перемещения внутреннего положения по одному за раз. С блоком он будет двигаться автономно.
Для этого не так много хороших примеров онлайн. Моим обходным решением на данный момент является вложение итератора в цикл и использование break
под итератором. Когда итератор прерывается, цикл сбрасывает последовательность перечисления.
Есть ли лучший способ - как я уверен, что есть?
Я должен указать. Как «каждый» будет использоваться для перехода к блоку? В этом примере 'next' используется для перемещения внутреннего положения по одному за раз. С блоком он будет двигаться автономно. –
@ LambinJust прочитал это http://www.ruby-doc.org/core-2.1.0/Enumerator.html#method-i-each. Все будет ясно. '# each' дает' Enumerator' без блока. –
Сначала я был упрям в замешательстве, но на следующий день я подумал: «Аруп был прав, я понял это сейчас!» Благодаря! –