पहला, पीएआईपी आम लिस्प के लिए लिखा गया है, योजना नहीं, इसलिए मुझे नहीं पता कि वह वही बात कहेंगे। सीएल मैक्रोज़ eval
के समान ही काम करते हैं, हालांकि रन टाइम के बजाए संकलन समय पर, और अन्य चीजें हैं जो आप कर सकते हैं। यदि आप मुझे आम लिस्प में eval
का उपयोग करने का एक उदाहरण दिखाएंगे, तो मैं वही काम करने के अन्य तरीकों के साथ आने का प्रयास कर सकता हूं।
मैं एक योजना प्रोग्रामर नहीं हूं। मैं केवल एक सामान्य लिस्प प्रोग्रामर के रूप में, Norvig के परिप्रेक्ष्य से बात कर सकते हैं। मुझे नहीं लगता कि वह योजना के बारे में बात कर रहा था, और मुझे नहीं पता कि वह योजना को विशेष रूप से अच्छी तरह जानता था या जानता था या नहीं।
दूसरा, Norvig कहते हैं, "आप गलत काम कर रहे हैं" के बजाय "आप शायद गलत काम कर रहे हैं"। इसका तात्पर्य यह है कि, वह सभी के लिए जानता है, ऐसे समय होते हैं जब eval
उपयोग करने के लिए सही बात है। सी जैसी भाषा में, मैं goto
के बारे में वही बात कहूंगा, हालांकि वे कुछ प्रतिबंधित परिस्थितियों में काफी उपयोगी हैं, लेकिन अधिकांश goto
उपयोग उन लोगों द्वारा किया जाता है जो किसी भी बेहतर नहीं जानते हैं।
स्रोत
2009-06-25 15:21:49
मुझे खेद है कि मैं इस प्रश्न में जो चाहता था उसके बारे में अधिक विशिष्ट नहीं हो सकता था। लेकिन दिलचस्प बात यह है कि मैंने हमेशा सोचा था कि eval हमेशा योजना का एक अभिन्न हिस्सा था। वैसे भी मुझे आशा है कि मुझे सीएस जी 111 में अधिक उपयोग और 'दुरुपयोग' का उपयोग करना होगा। :) – unj2
हां, 'eval' * * योजना का एक अभिन्न अंग है, लेकिन इसे केवल उन्नत मामलों में ही जरूरी है। अंगूठे का नियम यह है: यदि आप तकनीकी कारणों को नहीं जानते हैं जिनके लिए आपको 'eval' का उपयोग करने की आवश्यकता है, तो आपको * इसकी आवश्यकता नहीं है। (और यह एक गंभीर जवाब है!) किसी भी मामले में, हाँ, आपके पास CSG111 में बहुत से 'eval'ing होगा यदि आप इसे लेने जा रहे हैं, और उम्मीद है कि अगर आपको याद है, तो मुझे इसके बारे में पूछें। –