实际上我有一些公式"x + y"
,这是一个String
。
我设法更换了x/y
具有特定值的变量,例如"1.2"
,这仍然是String
类型。
现在我的表情就像"1 + 2"
.
所以问题是如何计算字符串类型的表达式并得到结果。
PS:我想要某样东西read
,可以直接转换整个字符串表达式,而不用逐个处理运算符(+/-等)。那可能吗?
你的问题留下了很大的解释空间。我猜你不习惯构建一个完整的词法分析、解析、也许类型检查和评估管道。长答案将涉及您定义您希望评估的语言(只是带有“+”的整数,也许所有有理数带有“+”、“-”、“*”、“/”,甚至是更大的语言?)并执行每个该语言的上述步骤。
简短的答案是:要计算 Haskell 表达式(其中包括您可能正在谈论的基本数学运算符),只需使用“hint”包:
$ cabal install hint
...
$ ghci
> import Language.Haskell.Interpreter
> runInterpreter $ setImports ["Prelude"] >> eval "3 + 5"
Right "8"
Yay!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)