gpt4 book ai didi

haskell - 作为haskell命令的字符串变量

转载 作者:行者123 更新时间:2023-12-04 04:42:29 25 4
gpt4 key购买 nike

当我遵循它时

print [1..5]

和结果 [1,2,3,4,5]

但为什么以下不起作用
let x = "[1..5]"
print x

我想将字符串变量作为 haskell 命令处理。有人可以帮我吗。

最佳答案

请注意,您的第二个示例:

let x = "[1..5]"
print x

工作得很好,它只是说一些与你预期不同的东西。

如果您希望将某个字符串视为有效的 Haskell 表达式,那么您需要通过一些 Haskell 解释器来解释该字符串。最常见的解释器是通过 ghc-api 访问的。 ghc-api 的干净包装是 hint包裹。

使用提示的一个简单示例是(通过 ghci):
import Language.Haskell.Interpreter
let x = "[1..5]"
Right result <- runInterpreter $ setImports ["Prelude"] >> eval x
print result

上面的代码将:
  • hint 导入解释器模块包
  • 设置一个字符串,x ,这是您想要计算的表达式
  • 对表达式
  • 运行解释器
  • 打印结果(它已经是一个字符串,所以你可能更喜欢 putStrLn result )。
  • 关于haskell - 作为haskell命令的字符串变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18679773/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com