Мне нужно произвести java.lang.Iterable[T]
, где подача T
- это какая-то длительная операция. Кроме того, после того, как T
предоставлено, оно оборачивается и производятся дальнейшие вычисления для подготовки к следующей итерации.
Сначала я думал, что смогу сделать это с Iterator.continually
. Тем не менее, вызов toIterable
для результата на самом деле создает Stream[T]
- проблема в том, что голова жадно оценивается, чего я не хочу.
Как я могу либо:
- Создание
Iterable[T]
из функции снабжения или - Преобразование
Iterator[T]
в Iterable[T]
без использования Stream
?