मुझे आश्चर्य है कि if … else
Predef
में विशेष कंपाइलर उपचार के साथ लागू किया जा सकता था, classOf[A]
के साथ क्या किया जा रहा है: परिभाषा Predef
में है, कार्यान्वयन कंपाइलर द्वारा भरा जाता है।क्या स्कैला का "if ... else" लाइब्रेरी फ़ंक्शन के रूप में कार्यान्वित किया जा सकता है?
दी, बहुत से लोगों को पता है कि एक if
हमेशा एक if
है आश्वस्त मिलेगा, और एक else
हमेशा एक else
, कोई फर्क नहीं पड़ता संदर्भ है। हालांकि, if
के परिणाम प्रकार पर एक विधि के रूप में else
को परिभाषित करना इसे कीवर्ड की सूची से हटा देगा, और लाइब्रेरी डिज़ाइनर को अपने else
विधियों को परिभाषित करने की अनुमति देगा। (मुझे पता है कि मैं किसी भी कीवर्ड को बैकटिक्स के साथ पहचानकर्ता के रूप में उपयोग कर सकता हूं, लेकिन `else`
जैसे कुछ कोड में भयानक लगते हैं।) ऐसी विधियां this one, discussed on the mailing list जैसी स्थितियों में चर्चा के मामलों में उपयोगी हो सकती हैं, जहां लोगों को otherwise
का उपयोग करने के लिए मजबूर होना पड़ता है विधियों को वास्तव में else
नाम दिया जाना चाहिए। (इसके अलावा एसओ here और here पर चर्चा की।)
तो:
- इस तरह के दृष्टिकोण, संभव है यहां तक कि सिद्धांत रूप में, या यह स्काला में कुछ मौलिक सिद्धांत को तोड़ने करता है?
- डाउनसाइड्स क्या होगा?
महान इस पता करने के लिए! यह वास्तव में अगले तार्किक कदम की तरह दिखता है ... मैं भविष्य के लिए उत्सुक हूं :-) –