मैं करने के लिए कुछ इसी तरह कैसे मिलेगा निम्नलिखित ?:क्लोजर अभिव्यक्ति के रूप में आप स्ट्रिंग का मूल्यांकन कैसे करते हैं?
(evaluate-text "(+ 1 2)") ; resolves to 3
मैं करने के लिए कुछ इसी तरह कैसे मिलेगा निम्नलिखित ?:क्लोजर अभिव्यक्ति के रूप में आप स्ट्रिंग का मूल्यांकन कैसे करते हैं?
(evaluate-text "(+ 1 2)") ; resolves to 3
(load-string "(+ 1 2)")
कैसे समान यह होना जरूरी है? Clojure की सूची पर eval
काम करता है, तो:
(eval (list + 1 2)) #=> 3
user> (eval (read-string "(+ 1 2)"))
3
आप शायद कभी ऐसा करने की जरूरत नहीं होनी चाहिए। मैक्रोज़ और एफएनएस इस तरह की चीज को अनावश्यक 99% समय बनाते हैं। यह काफी भंगुर है, और यह असुरक्षित हो सकता है अगर ये स्ट्रिंग उपयोगकर्ता इनपुट से आ रहे हैं, और इसी तरह।
वैसे मैं कुछ मूल रूप से असुरक्षित करना चाहता हूं: एक आरईपीएल चैटबॉट। –
#clojure में क्लोजरबॉट है। –
लोड-स्ट्रिंग ठीक वही करता है जो वह – Abhijith
मुझे eval के बारे में पता है, लेकिन मुझे नहीं लगता कि यह मेरे लिए काम करता है। मैं वास्तव में एक "स्ट्रिंग" का मूल्यांकन करना चाहता हूं –