मैं LISP के बारे में पढ़ रहा हूं।
मैं समझता हूं कि एक निश्चित स्तर पर उपसर्ग संकेतन कैसे काम करता है, लेकिन मैं सोच रहा था कि क्या इसे सहज बनाने के लिए कोई चाल है।
मैं LISP के बारे में पढ़ रहा हूं।
मैं समझता हूं कि एक निश्चित स्तर पर उपसर्ग संकेतन कैसे काम करता है, लेकिन मैं सोच रहा था कि क्या इसे सहज बनाने के लिए कोई चाल है।
जवाबों:
मानसिक रूप से इसे पढ़ने के लिए बाएं से दाईं ओर बोली जाने वाली भाषा के रूप में उचित क्रियाओं से मदद मिल सकती है। उदाहरण के लिए (+ 3 2) "तीन और दो को जोड़ें" हो सकता है। अधिक सामान्य मामले में, आप कह सकते हैं "$ ऑपरेंड पर $ ऑपरेशन करें"। एक ही मामले पर लागू होता है: "तीन और दो पर ऐड ऑपरेशन करें"।
( = 1 2 )
और( > 4 2 )
ट्रिक्स? किस लिए?
यह आपके लिए अभी तक सहज नहीं है क्योंकि आपके मानसिक पार्सर का उपयोग नहीं किया गया है। यह बेहतर होगा यदि आप इसका उपयोग करें और इसे बार-बार पढ़ें।
आप एक तरह के फंक्शन कॉल के बारे में सोच सकते हैं:
(operator operand1 operand2 ...)
इसके बारे में कुछ खास नहीं है। यदि आप C ++ में ऑपरेटरों को ओवरलोड करते हैं (और कई अन्य भाषाएँ जो इसे अनुमति देती हैं) तो आपको अक्सर इस तरह के फ़ंक्शन को ठीक उसी तरह परिभाषित करना होगा:
MyClass operator+(MyClass const& x, MyClass const& y);
कई भाषाएं उपसर्ग, इन्फिक्स और यहां तक कि पोस्टफिक्स के मिश्रण का उपयोग करती हैं।
लिस्प केवल डिफ़ॉल्ट रूप से केवल उपसर्ग का उपयोग करता है। यदि पाप (x) गणित से सहज है, तो (sin x) दूर नहीं है। यदि चाल (कुत्ता, घर) एक पारंपरिक प्रक्रिया कॉल है, तो लिस्प में यह सिर्फ (कुत्ते घर ले जाएँ) है।
लिस्प गणित के लिए कोई अपवाद नहीं बनाता है और +, -, * और दूसरों को सामान्य फ़ंक्शन कॉल की तरह मानता है।