क्या एक वैकल्पिक / शायद प्रकार गतिशील भाषाओं में उपयोगी है?


14

Optionalएक स्पष्ट रूप से टाइप की गई भाषा में एक उपयोगी तरीके से उपयोगी है, लेकिन मैं सोच रहा हूँ कि क्या यह गतिशील भाषाओं में भी उपयोगी है। आमतौर पर कोई संकलक आपको यह नहीं बताता, "हे, आपने इसे " के Optional<String>रूप में इस्तेमाल किया है String, इसलिए आपको अभी भी रनटाइम में अपनी गलतियों का पता लगाना है। मेरे पास एक स्थिर टाइपिंग पृष्ठभूमि है और अपने दृष्टिकोण से मैं Optionalएक गतिशील भाषा में एक प्रकार का लाभ नहीं देख सकता हूं ।

जवाबों:


13

यह कमजोरी वास्तव में सभी प्रकार की गतिशील भाषाओं के लिए अलग नहीं है । इसमें क्या है यह जानने के लिए आपको इसे चलाना होगा। उस संबंध में विकल्प वास्तव में अलग नहीं हैं।

विकल्प केवल एक स्थैतिक एनोटेशन से अधिक हैं जो एक मूल्य मौजूद हो सकता है या नहीं हो सकता है। उनके साथ ऑपरेशन भी जुड़े हुए हैं। विकल्पों पर मैप किए गए संचालन की चेन एक अत्यंत उपयोगी विशेषता है, जो आपको श्रृंखला में हर कदम के बाद विफलता की जांच करने से रोकती है।

यहां तक ​​कि अगर आप केवल मूल्य को तुरंत प्राप्त कर लेते हैं, तो भी यह प्रोग्रामर को Nothingपहली बार जांचने के लिए प्रेरित करेगा कि वह कब दौड़ा और असफल रहा। एक विकल्प के बिना, यह व्यवहार केवल तभी होगा nullजब आप इसे पहली बार चलाते हैं। जब तक उत्पाद क्षेत्र में नहीं था, तब तक कई अशक्त सूचक त्वरण ने हठपूर्वक प्रतीक्षा की है।


0

मैं ऑब्जेक्टिव-सी के लिए बात कर सकता हूं।

चूंकि गतिशील टाइप की गई भाषाएं देर से बाँधती हैं, इसलिए "वैकल्पिक" (एक गैर-मूल्य का प्रतिनिधित्व किया जाता है nil) के लिए जाँच अंतर्निहित है: यदि आप रनटाइम पर टाइप के लिए जाँच करते हैं, तो आप nilअंतर्निहित रूप से जाँचते हैं । बेशक यह चेनेबल है। यह स्वाभाविक रूप से भी किया जाता है।

स्थिर टाइप की गई भाषाओं के लिए यह अतिरिक्त अवधारणा एक लाभ है, क्योंकि उन्हें संकलन के समय टाइप निर्णय लेना होता है - एक ऐसी स्थिति जो टाइप की हुई डायनेमिक है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.