[swift-users] Tuple Member Extraction in Closure Parameters

Matthew Johnson matthew at anandabits.com
Thu May 5 09:54:34 CDT 2016


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> 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
> 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/2bab4b60/attachment.html>


More information about the swift-users mailing list