[swift-evolution] [Idea] Replace enumerate() with something more explicit

Howard Lovatt howard.lovatt at gmail.com
Sun Apr 17 17:57:42 CDT 2016


Yes I am proposing something like protocol Subscriptable that defines the
subscript operation and indices and entries properties.

On Sunday, 17 April 2016, Brent Royal-Gordon <brent at architechies.com> wrote:

> > With the above definition I would suggest a name change to entries,
> since a Dictionary's keys are not necessarily numbers, hence enumerate is
> misleading.
> >
> > Nothing for Set since it isn't subscriptable.
>
> I think you're slightly confused. All Collections have an Index.
> Dictionary's Index is not its Key; it is an opaque type which references an
> entry in its internal table. Set also has an Index; again, it is an opaque
> type which references an entry in its internal table. Your `enumerate()`
> (or my `indexed()`) would return these opaque `Index`es on all of these
> types.
>
> If you want Array to return `(Int, Element)`, Dictionary to return `(Key,
> Value)`, and Set to not have the operation at all, you're describing
> something ad-hoc and entirely disconnected from the Collection type.
>
> --
> Brent Royal-Gordon
> Architechies
>
>

-- 
-- Howard.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160418/8f69b022/attachment.html>


More information about the swift-evolution mailing list