2013-03-02 11 views
45

मैं धीरे-धीरे बढ़ने के लिए नया हूं और वर्तमान में ट्यूटोरियल्स का पालन करने की कोशिश कर रहा हूं और कुछ बार मैंने एकल और डबल कोट्स को इंटरमीक्स किया है। मैं सिर्फ यह जानना चाहता था कि क्या एक सेट दूसरे पर इस्तेमाल किया जाना चाहिए। इस का एक उदाहरण ट्यूटोरियल की धारा 6.12 है - Default tasks:ग्रैडल सिंगल बनाम डबल कोट्स

defaultTasks 'clean', 'run' 

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

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

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

तो, मैं सिर्फ इतना पता है कि अगर मैं इन मतभेदों पर ध्यान देने की जानी चाहिए या अगर वे आपस में अस्थिर कर रहे हैं और मैं उपयोग कर सकते हैं या तो एकल चाहते हैं या धीरे-धीरे स्ट्रिंग को प्रिंट करते समय डबल कोट्स।

उत्तर

51

Gradle निर्माण स्क्रिप्ट ग्रूवी में लिखे गए हैं। ग्रोवी दोनों में दोहरे उद्धृत और एकल उद्धृत स्ट्रिंग अक्षर हैं।

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

आप this या वेब पर अन्य ग्रूवी लेख में ग्रूवी स्ट्रिंग प्रक्षेप के बारे में अधिक सीख सकते हैं: मुख्य अंतर यह डबल-कोटेड स्ट्रिंग शाब्दिक का समर्थन करने वाले स्ट्रिंग प्रक्षेप है।

+1

स्पष्ट स्पष्टीकरण के लिए धन्यवाद। लेकिन अब मेरे पास एक फॉलो अप प्रश्न है, क्या हमेशा डबल कोट्स का उपयोग न करने का कोई कारण है? –

+1

अधिकतर व्यक्तिपरक/परिस्थिति वाले जैसे "बेहतर दिखता है", "इस शैली के लिए किसी अन्य भाषा से उपयोग किया जाता है", "शाब्दिक' $ 'या' "उन्हें बचने के बिना" का उपयोग करना चाहते हैं, "टाइप करना आसान"। कई ग्रोवी उपयोगकर्ता डिफ़ॉल्ट रूप से सिंगल कोट्स पसंद करते हैं। मैं डबल कोट्स पसंद करता हूं क्योंकि वे मुझे उद्धरण बदलने के बिना स्ट्रिंग इंटरपोलेशन को जोड़ने/निकालने की अनुमति देते हैं। इसके अलावा मुझे जावा जैसी भाषाओं से दोहरे उद्धरणों के लिए उपयोग किया जाता है। –

11

हां, आप एक या दूसरे का उपयोग कर सकते हैं। फर्क सिर्फ इतना है कि डबल-कोटेड तार GStrings हो सकता है, निम्न उदाहरण the Groovy documentation से लिया में की तरह का मूल्यांकन भाव शामिल कर सकते हैं जो है:

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

डबल-उद्धृत स्ट्रिंग अक्षर 'GString's iff हैं जिनमें वे '$' हैं। अन्यथा, वे सादे 'स्ट्रिंग' हैं। –

+0

सुधार के लिए धन्यवाद। मैंने अपना जवाब अपडेट कर लिया है। –

संबंधित मुद्दे