Sto osservando Objective-C e noto, ad esempio, che una dichiarazione dell'interfaccia di classe inizia con @interface
. Bene, nessun problema. Pertanto, il testo suggerisce che non è consentito uno spazio tra @
e interface
. Tuttavia, quando passo il seguente semplice esempio per il compilatore GCC in un file *.m
:Gli spazi sono consentiti dopo che `@` sta iniziando una dichiarazione in Objective-C?
@ interface A
@ end
il compilatore accetta il codice senza denuncia. Qualcuno può indirizzarmi verso un riferimento che dice esplicitamente se @ interface
sia o meno considerato accettabile dalla specifica Objective-C? Non ho trovato nulla nei documenti di Apple del 2008 e del 2011 per dire in un modo o nell'altro oltre al semplice testo alluso a prima nella domanda.
Grazie in anticipo.
EDIT: Può essere la pena di notare Emacs esegue colorazione del testo a seconda che l'identificatore è una parola chiave o no; le parole chiave sono blu e le parole chiave non gialle sono gialle. I colori @interface
blu e @ interface
colori gialli. Comportamento simile si verifica in Vim.
Le lingue di tipo C tendono a essere vaghe su dove gli spazi bianchi possono apparire vicino ai simboli. Immagino che uno spazio non contenga davvero, specialmente se, come dici tu, compila. – Almo
Sì, non ricordo di aver mai visto questo problema risolto in alcuna documentazione. Per la maggior parte, '@' è usato per innescare il preprocessore Objective-C per fare cose speciali, in un modo o nell'altro, così che sarebbe il preprocessore, non il compilatore C, che decide. (Buona domanda!) –
Punto interessante, Hot Licks, ad eccezione della documentazione Objective-C che ho specificato '@ interface' è una direttiva del compilatore, distinta dalle direttive del preprocessore come' # import'. –