giovedì 8 settembre 2011

Groovy ha parole speciali


L' Parole chiave del linguaggio Java sono parole che non possono essere utilizzati "come identificatori nei vostri programmi." I Tutorial Java Stati quanto le parole chiave di Java , "Le parole chiave constgoto sono riservate, anche se non sono attualmente utilizzati. verofalso , e nulla può sembrare parole chiave, ma in realtà sono letterali, non è possibile utilizzare come identificatori nel programmi. " In altre parole, l'insieme più di parole che non possono essere utilizzati come identificatori nel codice Java sono "parole riservate", tra cui le parole chiave più vero , falso , e nulla .
Non è sorprendente che Groovy " eredita "Java parole riservate.Tuttavia, Groovy aggiunge alcune sue proprie, come documentato nelle parole riservate sezione del Manuale dell'utente Groovy .Questa sezione mette in evidenza che Groovy aggiunge le seguenti parole l'insieme di parole riservate Java: come , def , in , ethreadsafe . Tre altre parole che mi trattano come "parole riservate" durante la scrittura di script Groovy sono la chiusura correlati implicita nomi delegato , si e proprietario . Altri particolari Groovy "parole" sono l'uso e con forniti da Groovy è oggetto di classe. Ho coprire questi nove "speciali" Groovy parole in questo post.
lo, delegato, proprietario
Le tre parole chiave che , delegato e proprietario sono utilizzate con chiusure Groovy. Essi forniscono le maniglie agli oggetti implicitamente disponibile all'interno del corpo della chiusura di.Anche se queste parole chiave possono essere utilizzati al di fuori del corpo di chiusura per altri scopi, tendo a riservare loro per l'uso all'interno di una chiusura. Infatti, si può anche usarli per scopi diversi da loro destinazione all'interno di un corpo di chiusura, ma questo sembra essere il gusto particolarmente poveri di fare.
Per la chiusura accettazione di un singolo argomento, la parola chiave che può essere utilizzato per rappresentare tale parametro, piuttosto che specificare esplicitamente il nome del parametro unico. Le parole chiave di questo, il proprietario e delegare inoltre hanno un significato speciale all'interno di una chiusura.
come
Ci sono molteplici usi del come parola chiave in Groovy. In chiave Groovy Il 'come' , Daniel Silva fornisce esempi di utilizzo delcome parola chiave per forzare un tipo ( più bella fusione ) e per creare un alias per un'istruzione import (dal 1,5 Groovy ).Steven Devijver post 's funzioni di ordine superiore con Groovy, parte 2 parla usando il come parola chiave usata "a chiusure per trasformarle in implementazioni di interfacce" utilizzando java.lang.reflect.Proxy .
in
L' nella parola chiave è talvolta usato in Groovy per accertare se un oggetto è contenuto all'interno di una raccolta. Un bell'esempio di ciò è dimostrato nel post The Groovy 'in' chiave . L' nella parola chiave è spesso usato in Groovy in collaborazione con iterazione / loop . Il StackOverflow filo Come funziona il Groovy nel lavoro operatore? afferma che "sembra che l' in operatore si basa sul isCase metodo "e che Groovy collezioni ' contains () i metodi sono chiamati daisCase .
def
La parola chiave def è spesso visto in listati di codice Groovy. La cosa si tratta 'def' Ho sentito parlare di sezione di Scoping e la semantica di 'def' nel Manuale d'uso Groovy ha questo da dire sulla definizione :
"Def" è un sostituto di un nome di tipo. Nelle definizioni di variabili, è utilizzato per indicare che non vi interessa circa il tipo. Nelle definizioni di variabili, è obbligatorio fornire il nome di un tipo in modo esplicito o di utilizzare "def" in sostituzione. Ciò è necessario per rendere le definizioni variabile rilevabile per il parser Groovy.
Questa documentazione specifica anche una regola empirica per pensare def : ". pensare a 'def' come un alias di 'oggetto'"
Ci sono alcune sfumature con l'utilizzo di definizione a seconda che il codice Groovy è uno script o una classe. Ho bloggato su questo nel post script Variabili visibili: Con Groovy 1,8 's @ AST campo in cui ho mostrato come Groovy 1,8 reso possibile l'utilizzo di definizione negli script Groovy e avere ancora la variabile definita a disposizione metodi per lo script.
threadsafe
Ero curioso di threadsafe quando l'ho visto sulla lista delle parole riservate Groovy perché non mi ricordo di avere visto in qualsiasi esempi di codice. Viene fuori c'è una ragione per questo : Guillaume Laforge ha dichiarato che il threadsafe parola chiave è una "parola riservata che non abbiamo mai usato fino ad ora" ( 16 Agosto 2007 ).
uso
La parola chiave use è applicabile quando si usano le categorie Groovy come illustrato nel Pimp My esempio pattern Biblioteca e come illustrato nel mio post conciso nome Aggiunta di metodi comuni a JAXB classi generate (classe separata / Groovy Categorie) .
L' uso "parola chiave" in realtà non è una parola chiave, ma è un metodo su GDK Groovy è estensione della classe Objected è fornito tramite Object.use (Categoria, chiusura) . Ci sono numerosi altri metodi forniti sulla Groovy GDK oggetti che forniscono un comodo accesso alle funzionalità e potrebbe apparire come parole chiave del linguaggio o delle funzioni, perché non hanno bisogno di nome di un oggetto per procedere loro. Io tendo a non utilizzare le variabili nei miei script Groovy con questi nomi (come è , println , e il sonno ) per evitare potenziali problemi di leggibilità.
con
Il Groovy GDK oggetto fornisce un altro metodo che voglio mettere a fuoco qui. L' (chiusura) con il metodo ci permette dichiamate ai metodi di gruppo e gli accessi di proprietà di un singolo oggetto.
Conclusione
ho coperto speciali parole Groovy in questo post che sono o parole riservate (in aggiunta a Java parole riservate) o sono maniglie speciali con cui si invoca una maggiore funzionalità in Groovy. In generale, evitare di usare queste parole come identificatori o nomi dei miei metodi. Anche se alcuni di essi sono consentiti per tali usi, io in genere evitare di fare questo per mantenere la leggibilità. Groovy permette anche per le parole chiave di Java per trovare un limite in nomi dei metodi , ma anche in genere non approfittare di questo.

Nessun commento:

Posta un commento

Nota. Solo i membri di questo blog possono postare un commento.