[swift-evolution] [Pitch] Enumerate from offset

Xiaodi Wu xiaodi.wu at gmail.com
Wed May 10 08:24:11 CDT 2017


When this was previously brought up, I believe the consensus was for
removing enumerated and doing nothing else.
On Wed, May 10, 2017 at 02:50 Pavol Vaskovic <pali at pali.sk> wrote:

> One more note:
>
> On Sun, May 7, 2017 at 8:51 PM, Ben Cohen <ben_cohen at apple.com> wrote:
>
>>
>> let words = ["five","four","three","two","one","blastoff!"]
>> ((0...5).reversed() |> { zip($0, words) })
>>     .forEach { print($0.0,$0.1, separator: ": ") }
>>
>> ...
>>
>
>> ((0...5).reversed() |> zip(_, words))
>>     .forEach { print($0.0,$0.1, separator: ": ") }
>>
>
> The code above demonstrates that replacing `enumerated` with `zip` gives
> you anonymous tuples that need to be accessed with positional properties.
>
> In contrast, the tuple returned from `enumerated` gives you named tuple
> (offset: Int, element: Element).
>
> Does this change your opinion when you take into account the sorry state
> of tuple handling in Swift 4, that prevents you from writing concise and
> readable functional code? See:
>
> SR-4745 for (index, (a, b)) in dict.enumerated() produces an error
> https://bugs.swift.org/browse/SR-4745
>
> SR-4738 Can not decompose nested tuple in closure arguments
> https://bugs.swift.org/browse/SR-4738
>
> Best regards
> Pavol Vaskovic
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170510/049f06eb/attachment.html>


More information about the swift-evolution mailing list