कार्यात्मक प्रोग्रामिंग में, पूंछ रिकर्सिव होने के लिए किसी भी "लूपिंग" कोड को अनुकूलित करना अक्सर महत्वपूर्ण होता है। पूंछ रिकर्सिव एल्गोरिदम आमतौर पर दो कार्यों के बीच विभाजित होते हैं - हालांकि, जो बेस केस सेट करता है, और दूसरा जो वास्तविक लूप लागू करता है। एक अच्छा (हालांकि अकादमिक) उदाहरण रिवर्स फ़ंक्शन होगा।सहायक कार्यों के लिए आपका नामकरण सम्मेलन क्या है?
reverse :: [a] -> [a]
reverse = reverse_helper []
reverse_helper :: [a] -> [a] -> [a]
reverse_helper result [] = result
reverse_helper result (x:xs) = reverse_helper (x:result) xs
"रिवर्स_हेपर" वास्तव में एक अच्छा, वर्णनात्मक नाम नहीं है। हालांकि, "reverse_recursive_part" बस अजीब है।
इस तरह के सहायक कार्यों के लिए आप किस नामकरण सम्मेलन का उपयोग करेंगे?
वह भाषा क्या है? –
मुझे खेद है। मैं अभी एक हास्केल परियोजना पर काम कर रहा हूं, जिसने इस सवाल को प्रेरित किया। मुझे लगता है कि मैं एक पाइथन/जावा उदाहरण दे सकता था, हालांकि इस तरह के सहायक कार्यों अनिवार्य भाषाओं में उपयोगी नहीं हैं। – Cybis