gpt4 book ai didi

haskell - 从 IO ExitCode monad 获取字符串

转载 作者:行者123 更新时间:2023-12-02 13:18:30 24 4
gpt4 key购买 nike

我正在尝试将作为参数给出的字符串(使用getArgs)连接到haskell程序,例如:"rm "++ filename++ "filename2.txt" 位于 main = do block 内。

问题出在文件名类型上,ghc 不会编译它,并给出错误。

我收到错误无法将预期类型 [a] 与推断类型 IO ExitCode 匹配

我们尝试运行的代码是:

args <- getArgs
let inputfname = head args
system "rm -f "++ inputfname ++ " functions.txt"

最佳答案

您需要$:

system $ "rm -f "++ inputfname ++ " functions.txt"

或括号:

system ("rm -f " ++ inputfname ++ " functions.txt")

否则你会尝试运行这个:

(system "rm -f ") ++ inputfname ++ " functions.txt"

它失败,因为++想要[a](在本例中为String),但得到IO ExitCode (来自系统)。

关于haskell - 从 IO ExitCode monad 获取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8188672/

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