खोज…


टिप्पणियों

स्काला प्रतीकों की एक अवधारणा के साथ आता है - तार जिसे नजरबंद किया जाता है , वह है: एक ही नाम (एक ही वर्ण अनुक्रम) के साथ दो प्रतीक, तार के विपरीत, निष्पादन के दौरान एक ही वस्तु को संदर्भित करेंगे।

प्रतीक कई भाषाओं की एक विशेषता है: लिस्प, रूबी और एरलंग और अधिक, हालांकि स्काला में वे अपेक्षाकृत छोटे उपयोग के हैं। अच्छी सुविधा है फिर भी।

उपयोग:

किसी भी उद्धरण के साथ शुरू होने वाला कोई भी शाब्दिक ' , जिसके बाद एक या अधिक अंक, अक्षर या _ अंक _ अंतर्गत एक प्रतीक शाब्दिक होता है। पहला वर्ण एक अपवाद है क्योंकि यह एक अंक नहीं हो सकता है।

अच्छी परिभाषाएँ:

'ATM
'IPv4
'IPv6
'map_to_operations
'data_format_2006

// Using the `Symbol.apply` method

Symbol("hakuna matata")
Symbol("To be or not to be that is a question")

बुरी परिभाषा:

'8'th_division
'94_pattern
'bad-format

केस क्लॉस में स्ट्रिंग्स को बदलना

मान लें कि हमारे पास कई डेटा स्रोत हैं जिनमें डेटाबेस, फ़ाइल, प्रॉम्प्ट और तर्क-सूची शामिल हैं । चुने हुए स्रोत के आधार पर हम अपना दृष्टिकोण बदलते हैं:

def loadData(dataSource: Symbol): Try[String] = dataSource match {
  case 'database => loadDatabase() // Loading data from database
  case 'file =>  loadFile() // Loading data from file
  case 'prompt => askUser() // Asking user for data
  case 'argumentList => argumentListExtract() // Accessing argument list for data
  case _ => Failure(new Exception("Unsupported data source"))
}

हम Symbol स्थान पर बहुत अच्छी तरह से String का उपयोग कर सकते थे। हमने नहीं किया, क्योंकि इस संदर्भ में तार की कोई भी विशेषता उपयोगी नहीं है।

यह कोड को सरल और कम त्रुटि प्रवण बनाता है।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow