2010-08-03 7 views
26

मैंने दोनों को एक दूसरे के उपयोग से स्कैला देखा है, लेकिन मुझे नहीं पता कि एक या दूसरे का उपयोग कब किया जाए।"(स्पेस) का उपयोग कब करें और कब उपयोग करें। (डॉट) स्कैला में तरीकों का आह्वान करते समय?

क्या कोई सम्मेलन है?

उदाहरण के लिए इन बराबर हैं

"hello" toString 

और

"hello".toString() 

और वे भी मिलाया जा सकता है

"hello".toString() length 

सम्मेलन क्या है?

+3

देखें http://www.codecommit.com/scala-style-guide.pdf – Yardena

उत्तर

7

Yardena से टिप्पणी पर विस्तार करने के लिए, वहाँ एक स्काला unofficial style guide है। डॉट नोटेशन का उपयोग कब करें और डॉट और कोष्ठक को कब छोड़ना है और आमतौर पर सिफारिश के लिए एक संक्षिप्त तर्क प्रदान करता है, कि आप इससे सहमत हो सकते हैं या नहीं, लेकिन कम से कम यह एक प्रारंभिक बिंदु है।

उदाहरण के लिए name toList अगली पंक्ति पर क्या निर्भर करता है इसके आधार पर अलग-अलग व्यवहार कर सकता है।

व्यक्तिगत रूप से, मैं hello.toString.length लिखता हूं कि सभी कॉल साइड-इफेक्ट मुक्त हैं (इसलिए मैं कोष्ठक छोड़ देता हूं) और फिर मुझे संकलन के लिए डॉट रखना होगा।

9

अंतरिक्ष सम्मेलन आमतौर पर तब होता है जब विधि ऑपरेटर की तरह काम करती है (+, *, आदि); डॉट कन्वेंशन का उपयोग तब किया जाता है जब यह अधिक पसंद करता है, ठीक है, एक विधि कॉल।

(मुझे पता है कि स्पष्टीकरण तरह का अस्पष्ट है, लेकिन वहां के उपयोग के लिए एक कठिन और तेजी से नियम वास्तव में नहीं है।)

+0

मुझे लगता है कि आपका क्या मतलब है। Coursera के पाठ्यक्रम में मैंने देखा एक अच्छा उदाहरण 'संघ' विधि के साथ था। मुझे लगता है कि स्पेस नोटेशन का उपयोग करके 'यूनियन बी' लिखा जाने पर यह और अधिक पठनीय दिखता है। और यह मामला 'संघ' ऑपरेटर के रूप में कार्य करता है। – jFrenetic

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