2013-03-02 18 views
45

Ich bin neu zu Gradle und bin derzeit nur versuchen, die Tutorials zu folgen und ziemlich oft habe ich Einzel- und doppelte Zitate gemischt gesehen. Ich wollte nur wissen, ob es einen Unterschied gibt, wenn ein Satz gegenüber dem anderen verwendet werden sollte. Ein Beispiel hierfür ist Abschnitt 6.12 des Tutorials - Default tasks:Gradle Single vs Double Quotes

defaultTasks 'clean', 'run' 

task clean << { 
    println 'Default Cleaning!' 
} 

task run << { 
    println 'Default Running!' 
} 

task other << { 
    println "I'm not a default task!" 
} 

Also, ich möchte nur wissen, ob ich die Aufmerksamkeit auf diese Unterschiede zahlen oder, wenn sie interchangeable sind und ich kann entweder einzelne oder doppelte Anführungszeichen beim Drucken von Zeichenfolgen in Großbuchstaben.

Antwort

51

Gradle Build-Skripte sind in Groovy geschrieben. Groovy verfügt sowohl über String-Literale mit doppelten als auch mit einfachen Anführungszeichen. Der wesentliche Unterschied besteht darin, dass in doppelten Anführungszeichen Stringliterale String Interpolation unterstützen:

def x = 10 
println "result is $x" // prints: result is 10 

Sie können mehr über Interpolation Groovy String in this oder andere auf der Internetseite Groovy Artikel erfahren.

+1

Danke für die klare Erklärung. Aber jetzt habe ich eine Nachfolgefrage, gibt es irgendeinen Grund, nicht immer doppelte Anführungszeichen zu verwenden? –

+1

Meistens subjektiv/situativ wie "Sieht besser aus", "benutzt diesen Stil aus einer anderen Sprache", "will wörtlich' '' '' '' '' ohne ihnen zu entkommen "," einfacher zu tippen. "Viele Groovy Benutzer scheinen standardmäßig einfache Anführungszeichen zu bevorzugen.Ich bevorzuge doppelte Anführungszeichen, weil sie es mir erlauben, die String-Interpolation hinzuzufügen oder zu entfernen, ohne die Anführungszeichen zu ändern.Auch bin ich es gewöhnt, Zitate aus Sprachen wie Java zu dotieren. –

11

Ja, Sie können das eine oder andere verwenden. Der einzige Unterschied besteht darin, dass Strings in doppelten Anführungszeichen gstrings werden können, die ausgewertet Ausdrücke wie im folgenden Beispiel aus the Groovy documentation genommen enthalten:

foxtype = 'quick' 
foxcolor = ['b', 'r', 'o', 'w', 'n'] 
println "The $foxtype ${foxcolor.join()} fox" 
// => The quick brown fox 
+0

Doppelt zitierte String-Literale sind 'GString', wenn sie ein' $ 'enthalten. Ansonsten sind sie schlicht 'String's. –

+0

Danke für die Korrektur. Ich habe meine Antwort aktualisiert. –