मैं पूंछ रिकर्सन का उपयोग करके हेक्स को एक पूर्णांक में बदलने का एक तरीका ढूंढ रहा हूं। अब तक मैंने केवल नियमित आदिम पुनरावर्तन के भयानक कार्यान्वयन की कोशिश की है और मुझे भी करीब नहीं मिला है। बहुत निराश पूंछ रिकर्सन के उदाहरण भी मदद करेंगे और उनकी सराहना की जाएगी। मैं इस कार्यान्वयन के लिए काफी समझ में नहीं आता हूं।हास्केल: एफ :: हेक्स स्ट्रिंग -> पूंछ रिकर्सन का उपयोग करके पूर्णांक
उदाहरण:
"005" -> 5
"1E" -> 30
प्रतिबंध: है, तो, बाकी आदि आयात उपयोग नहीं कर सकते या, प्रत्यावर्तन यदि संभव हो तो या पूंछ प्रत्यावर्तन के साथ किया जाना चाहिए।
रिकर्सन पर मेरा प्रयास।
hexToInteger :: String -> Integer
|(x:xs) = [] = []
|x == 0 = hexToInteger xs
|otherwise = addition x + hexToInteger xs
addition :: String -> Integer
addition x
|--something to check what position we're dealing with and what hex value.
|--Return the Integer value
आपने क्या प्रयास किया? क्या यह एक होमवर्क है? – Yuras
अभी तक मैंने केवल नियमित आदिम रिकर्सन के भयानक कार्यान्वयन की कोशिश की है और मुझे भी करीब नहीं मिला है। बहुत निराशपूंछ रिकर्सन के उदाहरण भी मदद करेंगे। मैं इस कार्यान्वयन के लिए काफी समझ में नहीं आता हूं। संपादित करें: मैं इसे विवरण में डाल दूंगा। –
क्या आप गैर पूंछ रिकर्सिव समाधान लागू कर सकते हैं? यह अच्छा प्रारंभिक बिंदु हो सकता है। – Yuras