【发布时间】:2019-09-19 01:20:18
【问题描述】:
我可以轻松地解构一个元组:
let tt = (2, (3, 4))
let (a, (b, c)) = tt
b // => 3
我想在声明闭包时也这样做,例如我想我可以这样写:
[tt].map { (a, (b, c)) in
// Use b
}
Xcode 抱怨“未命名的参数必须用空名称写入”。
我让它“工作”的唯一方法是:
[tt].map { (a, tuple: (b: Int, c: Int)) in
// Use tuple.b
}
这有两个我想避免的缺点:
- 我需要使用
tuple.b而不是b - 我需要指定
b和c的类型
顺便说一句,我的用例是我想用索引做一个reduce,所以我正在尝试使用array.enumerate().reduce
【问题讨论】:
-
我已经开始这个话题,下周将提交一份提案。 :)