(यह डैनियल जवाब देने के लिए एक परिशिष्ट टिप्पणी है, लेकिन मैं वाक्य रचना हाइलाइटिंग और स्वरूपण के लाभ के लिए एक जवाब के रूप में यह पोस्टिंग कर रहा हूँ।)
भाषा अर्थशास्त्र में महत्वपूर्ण प्रारंभिक पूंजी पत्र का उपयोग करने की शैली के बारे में डैनियल का बिंदु अधिक सूक्ष्म और महत्वपूर्ण है जब मैंने स्कैला को सीखा था।
object Case {
val lowerConst = "lower"
val UpperConst = "UPPER"
def main(args: Array[String]) {
for (i <- Seq(lowerConst, UpperConst, "should mismatch.").map(Option.apply)) {
print("Input '%s' results in: ".format(i))
i match {
case Some(UpperConst) => println("UPPER!!!")
case Some(lowerConst) => println("lower!")
case _ => println("mismatch!")
}
}
}
}
भोलेपन से मुझे लगता है कि मैच में मामलों के सभी तक पहुंचने की उम्मीद है |:
निम्नलिखित कोड पर विचार करें। इसके बजाय यह प्रिंट:
Input 'Some(lower)' results in: lower!
Input 'Some(UPPER)' results in: UPPER!!!
Input 'Some(should mismatch.)' results in: lower!
क्या हो रहा है कि case Some(lowerConst)
छाया वैल lowerConst
और इसी नाम की एक स्थानीय चर जो किसी भी समय एक Some
स्ट्रिंग वाली मूल्यांकन किया जाता है से संबंधित जानकारी देगा बनाता है।
इसके आसपास काम करने के लिए स्वीकार्य तरीके हैं, लेकिन सरल नामकरण के लिए शैली मार्गदर्शिका का पालन करना सबसे आसान है।
आप नामकरण परंपरा का पालन नहीं कर सकते, तो के रूप में @reggoodwin नीचे टिप्पणी में बताते हैं, आप चर नाम टिक में है, इसलिए
case Some(`lowerConst`) => println("lower!")
स्रोत
2012-03-17 18:25:53
जब यह एक पारंपरिक, पूरी तरह-पूर्वनिर्धारित सी/जावा शैली लगातार, पहले एक की तरह इस्तेमाल किया जा सकता है। दूसरा रूप- और आम तौर पर नामों में अंडरस्कोर-वास्तव में कभी भी उपयोग नहीं किया जाता है। तीसरा आम तौर पर अपरिवर्तनीय मूल्यों के लिए उपयोग किया जाता है जो गतिशील रूप से उत्पन्न होते हैं। – Destin
मैं दूसरे का उपयोग कर रहा हूं, लेकिन ज्यादातर जावा के अनुभव के लिए। इसे अस्वीकार करें, मुझे लगता है कि अधिकांश आधिकारिक तरीका पहला है (क्योंकि इसका उपयोग स्कैला लिब में ही किया जाता है, उदाहरण के लिए π को देखें जिसे 'पीआई' कहा जाता है)। –