posso destrutturare una tupla di tuple facilmente:destrutturazione tupla di tuple in chiusura
let tt = (2, (3, 4))
let (a, (b, c)) = tt
b // => 3
mi piacerebbe fare la stessa cosa quando si dichiara una chiusura, per esempio ho pensato che avrei potuto scrivere:
[tt].map { (a, (b, c)) in
// Use b
}
XCode si lamenta con "I parametri senza nome devono essere scritti con il nome vuoto".
unico modo che ho ottenuto al "lavoro" era:
[tt].map { (a, tuple: (b: Int, c: Int)) in
// Use tuple.b
}
Questo ha due svantaggi mi piacerebbe evitare:
- ho bisogno di usare
tuple.b
invece dib
- Devo specificare i tipi di
b
ec
BTW, il mio caso d'uso è che io voglio fare un reduce
con indice in modo che sto cercando utilizzando array.enumerate().reduce
http://thread.gmane.org/gmane.comp.lang.swift.evolution/ 16190 – jtbandes
Ho iniziato la discussione e presenterò una proposta la prossima settimana. :) – HAS