On Sun, Nov 8, 2015 at 8:11 PM, andrew cooke <and...@acooke.org> wrote:
> I'd like to be able to use take() and all the other iterator tools with a
> stream of data backed by an array (or string).
>
> By that I mean I'd like to be able to do something like:
>
>> stream = XXX([1,2,3,4,5])
>> collect(take(stream, 3))
> [1,2,3]
>> collect(take(stream, 2))
> [4,5]
>
> Is this possible?  I can find heavyweight looking streams for IO, and I can
> find lightweight iterables without state.  But I can't seem to find the
> particular mix described above.

Jeff's conclusion @ JuliaCon is that it seems impossible to implement
this (stateful iterator) currently in a generic and performant way so
I doubt you will find it in a generic iterator library (that works not
only on arrays). A version that works only on Arrays should be simple
enough to implement and doesn't sound useful enough to be in an
exported API so I guess you probably should just implement your own.

Ref 
https://groups.google.com/forum/?fromgroups=#!searchin/julia-users/iterator/julia-users/t4ZieI2_iwI/3NTw1k406qkJ

>
> (I think I can see how to write it myself; I'm asking if it already exists -
> seems like it should, but I can't find the right words to search for).
>
> Thanks,
> Andrew
>

Reply via email to