> On Jan 31, 2017, at 3:24 PM, Chris Eidhof via swift-evolution
> <[email protected]> wrote:
>
> Hey everyone,
>
> I've organized a number of Swift workshops over the last two years. There are
> a couple of things that keep coming up, and a couple of mistakes that I see
> people making over and over again. One of them is that in almost every
> workshop, there's someone who thinks that `enumerated()` returns a list of
> (index, element) pairs. This is only true for arrays. It breaks when using
> array slices, or any other kind of collection. In our workshops, I sometimes
> see people doing something like `x.reversed().enumerated()`, where `x` is an
> array, and somehow it produces behavior they don't understand.
What is the behavior that you'd like?
for x in [1, 2, 3].reversed().enumerated() {
print(x)
}
produces (first column is the index, second the element):
(0, 3)
(1, 2)
(2, 1)
- it IMHO behaves as one would expect - it returns an index into the sequence
that you are enumerating...
>
> A few ways I think this could be improved:
>
> - Move enumerated to Array
> - Change enumerated to return `(Index, Iterator.Element)` (this would mean we
> at least need to move it to collection)
> - Remove enumerated
> - Keep things as is
>
> In any case, just wanted to share my experience (gained from teaching
> people).
>
> --
> Chris Eidhof
> _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution