2013-02-13 8 views
6

मुझे अपने सी # कोड में बहुत उपयोगी अधिभार मिल रहा है। मुझे पता है कि यह कई अन्य भाषाओं में भी किया जा सकता है (निश्चित रूप से सी ++)।एलआईएसपी में कार्यों को ओवरलोड किया जा सकता है जैसे कि वे सी # में हो सकते हैं?

क्या LISP अधिभार या कुछ समकक्ष की अनुमति देता है?

उत्तर

4

हां इसमें "कुछ समान" है, लेकिन अधिक शक्तिशाली: generic functions

संपादित करें: मुझे पता नहीं था कि अधिभार की परिभाषा संकलन-समय संकल्प का तात्पर्य है। धन्यवाद रेनर जोसविग।

+0

@Vsevolod Dyomkin धन्यवाद ... मस्तिष्क बफर अतिप्रवाह उस समय हुई जब मैं 'के बारे में defmethod' :) –

+1

सही सोच रहा था, लेकिन ध्यान दें कि सामान्य कार्यों क्रम प्रेषण करते हैं, जबकि अधिक भार संकलन समय पर हल हो गई है। अर्थात्, आप ओवरलोडिंग को प्रतिस्थापित करने के लिए हमेशा जेनेरिक फ़ंक्शंस का उपयोग कर सकते हैं, लेकिन दूसरी तरफ नहीं। – Svante

+0

@ सवेन्ते मुझे विश्वास है कि मैं यहां थोड़ा उलझन देख रहा हूं। सी # रनटाइम प्रेषण भी करता है, लेकिन सिंगल: केवल चालान ऑब्जेक्ट के प्रकार पर आधारित, तर्क के रनटाइम प्रकार को अनदेखा करता है। –

3

आम लिस्प नहीं करता है।

आम लिस्प 'ओवरलोडिंग' का समर्थन नहीं करता है।

आम लिस्प CLOS के माध्यम से बहुरूपता प्रदान करता है, लेकिन अधिभारित नहीं करता है।

+1

मेरा जवाब संपादित किया गया। धन्यवाद! –

संबंधित मुद्दे

 संबंधित मुद्दे