मुझे आम लिस्प में निम्नलिखित त्रुटि संदेश मिला।क्या करता है | 5 ई | सामान्य लिस्प में मतलब है?
क्या करता है || सीएल में मतलब है?
CL-USER> (write-to-string 5e)
The variable |5E| is unbound.
[Condition of type UNBOUND-VARIABLE]
मुझे आम लिस्प में निम्नलिखित त्रुटि संदेश मिला।क्या करता है | 5 ई | सामान्य लिस्प में मतलब है?
क्या करता है || सीएल में मतलब है?
CL-USER> (write-to-string 5e)
The variable |5E| is unbound.
[Condition of type UNBOUND-VARIABLE]
| foo | प्रतीकों के लिए सिर्फ एक मुद्रित प्रतिनिधित्व है। 5e डिफ़ॉल्ट रूप से एक संख्या के रूप में नहीं पढ़ता है, इसलिए यह एक प्रतीक है और इसे 5E | के रूप में मुद्रित किया जा सकता है। कोई भी इसका उपयोग व्हाइटस्पेस सहित प्रतीकों में सभी प्रकार के पात्रों के लिए भी कर सकता है। | यह एक प्रतीक है, है ना? - यह है!
CL-USER > (describe '|this is a symbol, isn't it?|)
|this is a symbol, isn't it?| is a SYMBOL
NAME "this is a symbol, isn't it?"
VALUE #<unbound value>
FUNCTION #<unbound function>
PLIST NIL
PACKAGE #<The COMMON-LISP-USER package, 798/1024 internal, 0/4 external>
ध्यान दें कि सामान्य लिस्प डिफ़ॉल्ट रूप से अपरकेस प्रतीकों का उपयोग करता है। पढ़े गए प्रतीक ऊपरी भाग होंगे। तो प्रतीक foo पढ़ा जाता है और फिर एक प्रतीक नाम "FOO" है। लोअरकेस या मिश्रित केस अक्षरों के साथ प्रतीक को इंगित करने के लिए, कोई भी | foo | का उपयोग कर सकता है। यदि आप कुछ के साथ लोअरकेस प्रतीक बनाते हैं (इंटर्न "foo"), तो इसे भी | foo | के रूप में मुद्रित किया जाएगा। यदि आप कुछ नाम (इंटर्न "फूड") के साथ प्रतीक नामक एक उपन्यास बनाते हैं, तो इसे foo के रूप में मुद्रित किया जाएगा। यही कारण है कि 5e प्रिंट | 5E | के रूप में एक अपरकेस ई
यदि आपके पास कोई प्रतीक है, तो आप फ़ंक्शन SYMBOL-NAME के साथ स्ट्रिंग के रूप में अपना नाम प्राप्त कर सकते हैं।
आप एक स्ट्रिंग से एक पूर्णांक पढ़ सकते हैं जिसमें वह PARSE-INTEGER कार्य करता है। इसमें एक कीवर्ड पैरामीटर है: रैडिक्स, जहां आप पढ़ने के लिए रेडिक्स प्रदान कर सकते हैं।
CL-USER > (parse-integer (symbol-name '5e) :radix 16)
94
अन्यथा # x5e जैसे हेक्स संख्याओं का उपयोग करें या पढ़ने के आधार को बदलें।
फ्रैंक शीयर सामान्य लिस्प हाइपरस्पेक में प्रलेखन को इंगित करता है: 2.3.4 Symbols as Tokens।
यह उद्धरण के रूप में उन वर्णों का उपयोग कर रहा है। यह एक चर के नाम के रूप में 5e
की व्याख्या करने की कोशिश कर रहा है। मेरा अनुमान है कि आप वास्तव में इसे हेक्स संख्या के रूप में समझना चाहते हैं, इसलिए यह शायद #x5e
होना चाहिए।
सीएलएचएस अनुभाग 2.3.4 प्रतीक के सिंटैक्स का वर्णन करता है। –
आपके विस्तृत उत्तर के लिए धन्यवाद। – jeon