Есть ли векторная альтернатива Data.List's cycle?Haskell цикл вектор
Data.Vector документы имеют раздел под названием Recycling support, что кажется, что это то, что я хотел бы, но функции new
и clone
явно не делать то, что делает cycle
.
Решение, о котором я думал, просто повторно индексирует вектор с помощью (счетчик mod длины вектора).
Примером того, что мне нужно было сделать, является необходимость бесконечного списка случайных перетасованных сеток, но решетки большие, и поэтому хранение миллионов из них в памяти не является идеальным. Я понял, что неважно, был ли цикл случайных относительно небольшим, поэтому вместо этого я создал список из нескольких сотен сеток, а затем использовал Data.List.cycle
, чтобы дать иллюзию бесконечной длины. Теперь я преобразовал сетки list
в сетки сетки Vector
и больше не может использовать cycle
.
Можете ли вы привести конкретный пример того, что вы хотите сделать? – ErikR