मैं एक असाइनमेंट के लिए एसएमएल में कोडिंग कर रहा हूं और मैंने कुछ अभ्यास समस्याएं की हैं और मुझे लगता है कि मुझे कुछ याद आ रहा है- मुझे लगता है कि मैं बहुत सारे case
कथन का उपयोग कर रहा हूं। यहाँ मैं क्या कर रहा हूं और मैं क्या साथ .:केस स्टेटमेंट्स और पैटर्न मिलान
समस्या हो रही है के लिए समस्या बयान एक समारोह all_except_option है, जो एक स्ट्रिंग और स्ट्रिंग सूची लेता लिखें है। यदि स्ट्रिंग सूची में नहीं है, तो वापस लौटें, अन्यथा कुछ lst वापस करें जहां lst तर्क सूची की तरह है, सिवाय इसके कि स्ट्रिंग इसमें नहीं है।
fun all_except_option(str : string, lst : string list) = case lst of [] => NONE | x::xs => case same_string(x, str) of true => SOME xs | false => case all_except_option(str, xs) of NONE => NONE | SOME y=> SOME (x::y)
एक समारोह get_substitutions1 है, जो एक स्ट्रिंग सूची सूची (तार, खिलाड़ी को बदलने की सूची की एक सूची) और एक स्ट्रिंग रों लेता है और एक स्ट्रिंग सूची लौटाती है लिखें। नतीजे में सभी स्ट्रिंग्स हैं जो प्रतिस्थापन में कुछ सूची में हैं, जिनके पास भी है, लेकिन परिणामस्वरूप स्वयं नहीं होना चाहिए।
fun get_substitutions1(lst : string list list, s : string) = case lst of [] => [] | x::xs => case all_except_option(s, x) of NONE => get_substitutions1(xs, s) | SOME y => y @ get_substitutions1(xs, s)
- same_string
एक प्रदान की समारोह, fun same_string(s1 : string, s2 : string) = s1 = s2
यह कोर्सरा प्रोग्रामिंग भाषा पाठ्यक्रम में सप्ताह 2 के लिए असाइनमेंट का हिस्सा है।चूंकि यह ऑनलाइन समाधान पोस्ट करने का उल्लंघन है, इसलिए मैं इस प्रश्न का अनुरोध फ़ंक्शन नामों को बदलने के लिए पुनः शब्दबद्ध करने के लिए करता हूं ताकि वे असाइनमेंट के साथ बिल्कुल मेल न करें। – arnab