string - Elisp में स्ट्रिंग को सिंबल में बदलें




symbols (2)

मैं Emacs लिस्प में एक प्रतीक प्रकार को एक स्ट्रिंग में कैसे बदल सकता हूं?

मैं एक symbol-to-string फ़ंक्शन या समान कुछ भी खोजने में सक्षम नहीं था।


एक प्रतीक नाम (एक स्ट्रिंग) को देखते हुए, आप प्रतीक का मान प्राप्त कर सकते हैं। ट्रे जैक्सन के समाधान का उपयोग करना:

(setq ASymbol 10)  => 10
(intern "ASymbol")  => 'ASymbol (e.g. the unevaluated symbol with name "ASymbol")
(symbol-value (intern "ASymbol")) => 10

यह उपयोगी है यदि आप उन प्रतीकों के मूल्यों को प्राप्त करना चाहते हैं जिनके लिए आपके पास केवल नाम हैं। उदाहरण के लिए, आप उन्हें एक स्ट्रिंग से पढ़ते हैं।

कुछ नोट्स: intern दिए गए नाम के साथ प्रतीक का मान लौटाता है। यदि ऐसे नाम वाला कोई प्रतीक मौजूद नहीं है, तो यह उस नाम के साथ एक प्रतीक बनाता है। यदि दिए गए नाम के साथ कोई मौजूद नहीं है, तो आप एक नए प्रतीक को पेश करने से बचने के लिए intern-soft का उपयोग कर सकते हैं।


symbol-name का उपयोग करके देखें:

(symbol-name 'some-symbol)





symbols