[swift-users] Tuple Member Extraction in Closure Parameters

Dennis Weissmann dennis at dennisweissmann.me
Thu May 5 10:38:36 CDT 2016


Thanks Dave and Matthew, I’ll start a thread on swift-evolution later today or tomorrow.

- Dennis

> On May 5, 2016, at 5:09 PM, David Sweeris <davesweeris at mac.com> wrote:
> 
> Seems like a nice feature, though. I think it'd be worth starting a thread on the evolution list. I don't know if it would be done in time for 3.0, but it doesn't hurt to try.
> 
> - Dave Sweeris
> 
> On May 5, 2016, at 09:54, Matthew Johnson via swift-users <swift-users at swift.org <mailto:swift-users at swift.org>> wrote:
> 
>> Destructuring of parameters would be pretty cool.  If it gets added to Swift it should be a general feature for all functions, not just on closures.  There are a lot of design directions and subtleties that would need to be explored.  I doubt it is something that will be considered in the Swift 3 timeframe.
>> 
>>> On May 5, 2016, at 9:43 AM, Dennis Weissmann via swift-users <swift-users at swift.org <mailto:swift-users at swift.org>> wrote:
>>> 
>>> Thanks Krzysztof, you’re right! I totally forgot about that neat feature.
>>> 
>>> However, there’s no way to do this directly in the parameter list, right?
>>> 
>>> Do you think such feature should exist?
>>> 
>>> - Dennis
>>> 
>>>> On May 5, 2016, at 4:19 PM, Krzysztof Siejkowski <krzysztof at siejkowski.net <mailto:krzysztof at siejkowski.net>> wrote:
>>>> 
>>>>> 
>>>>> A workaround is to declare two local variables:
>>>>> 
>>>>> let e = zip(a,b).reduce(0) { acc, tuple in
>>>>>   let value1 = tuple.0
>>>>>   let value2 = tuple.1
>>>>>   return acc + value1 + value2
>>>>> }
>>>> 
>>>> You can also get away with one assignment:
>>>> 
>>>> let ok = zip(a,b).reduce(0) { acc, tuple in
>>>>     let (value1, value2) = tuple
>>>>     return acc + value1 + value2
>>>> 
>>>> }
>>>> 
>>>> Best,
>>>> Krzysztof
>>> 
>>> _______________________________________________
>>> swift-users mailing list
>>> swift-users at swift.org <mailto:swift-users at swift.org>
>>> https://lists.swift.org/mailman/listinfo/swift-users <https://lists.swift.org/mailman/listinfo/swift-users>
>> 
>> _______________________________________________
>> swift-users mailing list
>> swift-users at swift.org <mailto:swift-users at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-users <https://lists.swift.org/mailman/listinfo/swift-users>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20160505/6853ddc4/attachment.html>


More information about the swift-users mailing list