मैं सात दिनों में सात भाषाएं पुस्तक में आईओ दिवस 2 पर दूसरा अभ्यास पूरा करने की कोशिश कर रहा हूं। इसमें आपके पूछा, "आप कैसे बदल जाएगा/0 वापस जाने के लिए अगर भाजक शून्य है?" मैं निर्धारित किया है मैं का उपयोग कर संख्या के लिए एक विधि जोड़ सकते हैं कि:आप मौजूदा ऑपरेटरों को आईओ में इनका उपयोग किए बिना कैसे बदलते हैं?
Number new_div := method(i, if(i != 0, self/i, 0))
क्या मैं सुनिश्चित नहीं हूं है कैसे ऑपरेटर तालिका में "/" को प्रतिस्थापित करने के लिए। मैंने कोशिश की है:
Number/:= Number new_div
Number/:= self new_div
लेकिन मुझे दोनों के लिए अपवाद मिलता है क्योंकि यह "/" को आमंत्रित करने का प्रयास कर रहा है। मैं संख्या पर एक संभाल कैसे प्राप्त करूं/इसलिए मैं पुरानी विधि का संदर्भ संग्रहीत कर सकता हूं और फिर अपने उद्देश्यों के लिए इसे फिर से परिभाषित कर सकता हूं? क्या मैं इस सब गलत के बारे में जा रहा हूँ?
मैं एक ही समस्या को हल करने की कोशिश कर रहा हूं। मैं करता हूं "संख्या /: = विधि (...)"। और मैं उसी अनंत लूप से फंस गया हूं जो जेर ने बताया। मुझे मूल कार्यान्वयन/इसे कॉल करने के लिए कोई रास्ता नहीं मिल रहा है। –
@ एरिक होग: मैंने अपना जवाब पोस्ट नहीं किया क्योंकि * जेर * बस मुझे इसे हराया! मैंने इसे अभी पोस्ट कर दिया है क्योंकि यह दिखाता है कि मूल विभाजन को कैसे संरक्षित किया जाए और रिकर्सन लूप से बचें। – draegtun