दोनों के बीच क्या अंतर है
object Application extends App {
println("Hello World")
}
तथा
object Application {
def main(args: Array[String]): Unit = {
println("Hello World");
}
}
दोनों के बीच क्या अंतर है
object Application extends App {
println("Hello World")
}
तथा
object Application {
def main(args: Array[String]): Unit = {
println("Hello World");
}
}
जवाबों:
एप्लिकेशन विशेषता एक निष्पादन योग्य स्कैला कार्यक्रम बनाने का एक सुविधाजनक तरीका है। मुख्य विधि altenative का अंतर है (स्पष्ट वाक्यात्मक अंतर के अलावा) जो कि अनुप्रयोग विशेषता विलंब टीकाकरण सुविधा का उपयोग करता है।
2.9 के लिए जारी नोट्स से ( http://www.scala-lang.org/old/node/9483 देखें )
इसके बजाय ऐप की विशेषता प्राप्त करने वाली वस्तुएं स्कैला 2.9 के विलंबित आरंभीकरण सुविधा का उपयोग करती हैं जो विरासत में मिली मुख्य विधि के हिस्से के रूप में पूरे शरीर को निष्पादित करती हैं।
ऐप योजना की एक और नई विशेषता यह है कि कमांड लाइन के तर्क अब आर्ग मूल्य के माध्यम से सुलभ हैं (जो कि ऐप से विरासत में मिला है)
mainविधि और शरीर के रूप में उम्मीद निष्पादित नहीं है। क्या मुख्य पर प्रवेश के बाद किसी बिंदु पर इसे निष्पादित किया जाता है?
mainतरीका है कि Appआपकी पसंद की Applicationवस्तु को मिलाने वाली विशेषता है । इस तथ्य से परे कोई जादू नहीं है कि विलंबित आरंभीकरण आपकी Applicationवस्तु के शरीर को निष्पादित करता है ।
ये दो मामले स्केला स्क्रिप्टिंग पर समान नहीं हैं।
object extends App" scala MyObject.scala" कमांड द्वारा निष्पादित नहीं किया गया था , लेकिन मुख्य विधि वाले ऑब्जेक्ट को " scala MyObject.scala" कमांड द्वारा निष्पादित किया गया था । जिसे स्कैल्पिंग के लिए मुख्य विधि के साथ ऑब्जेक्ट की तलाश में स्कैला के रूप में वर्णित किया गया था।
ग्रहण के REPL या स्काला वर्कसेट का उपयोग करते समय, MyObject.main(Array[String]())दोनों मामलों के लिए स्पष्ट रूप से कॉल करने की आवश्यकता होती है।
यह सरल टिप मेरी तरह शुरुआती के लिए मददगार हो।