Is there something like a consuming take?
berni
someone at somewhere.com
Sat Jul 6 15:32:50 UTC 2019
On Saturday, 6 July 2019 at 14:48:04 UTC, Adam D. Ruppe wrote:
> [...]
> So this is a case of input range behavior - always consuming
> the underlying file - combined with buffering of two elements
> at once, leaving 5,6 behind, and the reuse of the buffer
> meaning you see that 5,6 again on the next call.
Thanks for clearifing what happens. In my oppinion the behaviour
of take() should be better defined. It's clear, that take()
returns a range with the first n elements of the underlaying
range (and that is done lazily). But it's not specified what
happens with the underlaying range. As the behaviour is
unpredictable (or at least hard to predict), one should assume,
that the underlaying range is completely destroyed by take().
This makes take() much less usefull, than it could be, in my
eyes. :-(
More information about the Digitalmars-d-learn
mailing list