Hi Jacob, 

In my view, in principle, all "iterators" should be indexable, (at least 
read-only), *unless *the underlying data is not indexable by nature, e.g. 
with data that comes from a stream...  Doing `zip([1, 2], [2, 3])[1]` 
should probably just work.

I also think that for `Zip`s if the zipped collections are not indexable, 
then the "outer" getindex method should fail internally with a MethodError, 
on the "inner" getindex calls not implemented for the non-indexable 
collections.

On Thursday, June 23, 2016 at 7:23:34 PM UTC+1, Jacob Quinn wrote:
>
> Sorry, to clarify a little:
>
> The things you're zipping are not necessarily indexable (i.e. other 
> iterators), so it's not safe to assume you can always index a Zip.
>
> On Thu, Jun 23, 2016 at 2:21 PM, Jacob Quinn <[email protected] 
> <javascript:>> wrote:
>
>> Most "iterator" types are not indexable, AFAIK. The typical 
>> recommendation/idiom is to just call `collect(itr)` if you need to 
>> specifically index.
>>
>> -Jacob
>>
>> On Thu, Jun 23, 2016 at 2:18 PM, Davide Lasagna <[email protected] 
>> <javascript:>> wrote:
>>
>>> Is there any particular reason why `Zip` objects are iterable but not 
>>> indexable? Python allows that.
>>>
>>> From previous discussion on the topic (2014 topic at 
>>> https://groups.google.com/forum/#!topic/julia-dev/5bgMvzJveWA) it seems 
>>> that it has not been implemented yet. 
>>>
>>> Thanks,
>>>
>>>
>>>
>>
>

Reply via email to