Perl 6 имеет ленивые списки, но также имеет неограниченные Range объекты. Какой из них следует выбрать для подсчета по целым числам?
И там неограниченный Range с двумя точками:
0 .. *
Здесь Seq (последовательность) с тремя точками:
0 ... *
A Range
генерирует списки целых объектов, используя их естественный порядок. Он наследует от Iterable, а также Positional, чтобы вы могли индексировать диапазон. Вы можете проверить, находится ли что-то в пределах Range
, но это не является частью задачи.
A Seq
может генерировать только что угодно, если только он знает, как перейти к следующему элементу. Он наследует от Iterable, но также PositionalBindFailover, который подделывает содержимое Positional
через кеш и преобразование списка. Я не думаю, что это очень важно, если вы только переходите от одного элемента к другому.
Я собираюсь туда и обратно. На данный момент я думаю об этом Range.