2014-12-15 15 views
23

Ho visto chiusure in swift avere $ 0 al suo interno e a volte usano $ 1. Cosa sono esattamente $ 0 e quali altri $ x puoi usare?

Ecco alcuni esempi in uso.

applyMutliplication(2, {$0 * 3}) 
array.map({$0 + 1}) 

Grazie!

risposta

25

È un nome di argomento abbreviato.

Dal Swift libro:

“Swift fornisce automaticamente i nomi degli argomenti stenografia inline chiusure, che possono essere utilizzati per fare riferimento ai valori della argomenti della chiusura con i nomi $ 0, $ 1, $ 2, e così via “

-. Apple Inc. “The Swift Programming Language.”

aiuta a ridurre il livello di dettaglio del codice (a volte a costo di leggibilità), quindi non è necessario scrivere lunghi elenchi di argomenti quando si definiscono chiusure.

+17

Perché la verbosità può fornire comprensibilità. – zaph

+1

Sì, hai ragione, a volte verbostiy aiuta la leggibilità e la comprensibilità, anche se questo inizia a delimitare. Ad ogni modo ho aggiornato la mia risposta. –

+0

Bel cambiamento. Ridurre la scrittura di lunghi elenchi di argomenti non è l'obiettivo finale, ma solo uno e l'auto-completamento è di aiuto. L'obiettivo finale dovrebbe essere la leggibilità poiché il codice verrà generalmente letto molte volte. – zaph

Problemi correlati