2015-07-09 14 views
8

È possibile utilizzare una parola chiave riservata come caso enum?Utilizzare la parola chiave riservata a caso enum

Ad esempio:

enum MyEnum { 
    case Self // compiler complains here 
    case AnotherCase 
} 

In altre lingue questo è possibile sfuggire la parola chiave in un certo senso, ad esempio in scala usiamo apici inversi, per esempio

`type` 

può essere utilizzato come identificativo, nonostante type essere una parola chiave riservata.

C'è qualcosa di simile in swift?

+2

* "per esempio in scala usiamo backticks ..." * e questo è esattamente ciò che si può fare a Swift pure :) –

+0

@ Daij-Djan è necessario che corrisponda alla risposta dell'API per comodità, non è qualcosa che farei altrimenti saggio –

+0

Sembra che ora Swift supporti questo (forse aggiunto in Swift 2?). Fantastico :) – Marchy

risposta

13

Dal Swift Guida linguistica (Naming Constants & Variables section)

Se avete bisogno di dare una costante o variabile con lo stesso nome come parola chiave Swift riservata, circondano la parola chiave con la parte posteriore zecche (`) quando lo si utilizza come un nome . Tuttavia, evitare di utilizzare le parole chiave come nomi a meno che non si abbia assolutamente alcuna scelta.

enum MyEnum { 
    case `Self` 
    case AnotherCase 
} 

e utilizzarlo con o senza apici inversi

let x: MyEnum = .Self 
let y = MyEnum.`Self` 
+0

Oh, grazie, ho perso quella piccola scatola nei documenti. Ecco il link per i futuri ref: https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/uid/TP40014097-CH5-ID310 –

+0

* * Tuttavia, evita di usare parole chiave come nomi a meno che tu non abbia assolutamente altra scelta. ** Bolding in un commento. Raccomandare audacemente nella risposta. – nhgrif

Problemi correlati