वैसे मैं hint के खिलाफ अपने सिर को टक्कर लगी हूं लेकिन अब मैं हार मानता हूं। मुझे पता है संकेत यह कर सकता है लेकिन मुझे यकीन नहीं है कि कैसे। [संपादित करें] संकेत के लिए आयात सेट करने के लिए टॉमएमडी का जवाब देखें। [/ संपादित करें]
import Language.Haskell.Interpreter (eval, runInterpreter, Interpreter, InterpreterError)
main = do let resIO = eval "3" :: Interpreter String
res <- runInterpreter resIO
print res
यह uninterestingly परिणाम के रूप में Right "3"
पैदा करता है। मैं निम्नलिखित वेरिएंट की कोशिश की, चौंकाने त्रुटियों में केवल चलाने के लिए:
... eval "3 + 3" ....
-- yields --
Left (WontCompile [GhcError (errMsg = "Not in scope: `+'"])
+
ऑपरेटर दायरे में नहीं है ??? wtf ...
import Language.Haskell.Interpreter (interpret, as, runInterpreter, Interpreter)
main = do let resIO = interpret "3" (as :: Int) :: Interpreter Int
res <- runInterpreter resIO
print res
-- yields --
Left (WontCompile [GhcError (errMsg = "Not in scope: type constructor or class 'Int'")])
Int
कक्षा दायरे में नहीं है ??? उह ...
मैं उन संकेतों के बारे में अधिक जानकारी देता हूं जो संकेत के बेहतर विवरण पर विस्तार से हैं।
स्रोत
2011-04-07 16:42:37
बेशक, यह संभव है। लेकिन मुझे लगता है कि आपको अभिव्यक्तियों के लिए बेहतर प्रतिनिधित्व का उपयोग करना चाहिए।एक सुराग आपका वाक्यांश हो सकता है "संपूर्ण स्ट्रिंग अभिव्यक्ति को परिवर्तित करें"। सवाल यह है कि ** ** ** में कनवर्ट करें? – Ingo
मुझे लगता है कि yoz इसका मूल्यांकन करना चाहता है, और शब्द को 'परिणाम में कनवर्ट' के रूप में परिवर्तित कर रहा है। – mdm
@ एमडीएम, निश्चित रूप से, यही कारण है कि मैं पूछ रहा हूं: उसे यह महसूस करने के लिए कि रूपांतरण और मूल्यांकन अलग-अलग चीजें हैं। या तो वह सीधे स्ट्रिंग का मूल्यांकन करता है (जिसे उसने पहले ही अस्वीकार कर दिया है), या वह परिवर्तित करता है (क्या? यह मुख्य प्रश्न है) और उसके बाद इसका मूल्यांकन करें। – Ingo