2013-03-02 15 views
45

Ben gradle için yeni ve şu anda sadece dersleri takip etmeye çalışıyorum ve birkaç kez tek ve çift tırnak karıştı. Sadece bir setin diğeri üzerinde kullanılması gerektiğinde bir fark olup olmadığını bilmek istedim. Sadece bu farklılıklar dikkat edilmelidir yoksa arası değiştirilebilir ve eğer ben de bekar kullanabilirsiniz olmadığını bilmek istiyorum, YaniGradle 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!" 
} 

: Default tasks - Bunun bir örneği öğretici bölüm 6.12 veya dizeleri sıraya yazdırırken çift tırnak işareti.

cevap

51

Gradle komut Groovy yazılır kurmak. Groovy hem çift tırnaklı hem de tek tırnaklı String literals'a sahiptir.

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

web üzerinde this veya diğer Groovy makalelerde Groovy dize enterpolasyon hakkında daha fazla bilgi edinebilirsiniz: Ana fark çift tırnaklı dize hazır Dize interpolasyon desteklenmemesidir.

+1

Açık bir açıklama için teşekkürler. Ama şimdi bir takip sorumlum var, her zaman çift tırnak kullanmamanın bir nedeni var mı? –

+1

Çoğu subjektif/durumsal olanlar "daha iyi görünüyor", "bu stilde başka bir dilde kullanılır", "onlardan kaçmak zorunda kalmadan literal' $ 'ya da" "kullanmak isterler", "yazmak daha kolay" gibi birçok Groovy kullanıcısı. tek tırnakları varsayılan olarak tercih ediyor gibi görünüyor.Çift tırnakları tercih ederim çünkü tırnakları değiştirmeden String interpolasyonu eklememe/çıkarma imkanım var.Ayrıca Java gibi dillerden çift tırnak kullanıyorum. –

11

Evet, birini veya diğerini kullanabilirsiniz. Tek fark Çift tırnaklı dizeleri the Groovy documentation alınan aşağıdaki örnekte olduğu gibi değerlendirilen ifadeler içerebilir, hangi gstrings olabilmesidir:

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

Çift tırnaklı dize değişmezleri, '' '' '' '' '' '' '' '' '' '' '' 'içermeleridir. Aksi halde, düz 'String's vardır. –

+0

Düzeltme için teşekkürler. Cevabımı güncelledim. –