gpt4 book ai didi

haskell - 是否可以调试 Turtle 脚本(相当于 bash 中的 "-x"标志)?

转载 作者:行者123 更新时间:2023-12-04 08:23:39 24 4
gpt4 key购买 nike

我最近开始使用 Haskell Turtle库来替换我的一些 shell 脚本。

有没有办法以某种方式启用内置 Turtle 命令的回显(如 cd)ala set -x在 bash 脚本中?我发现在执行许多命令并且其中一个因异常而失败(如 cp 带有 Exception:openBinaryFile: does not exist 的命令)的情况下调试 Turtle 脚本是很成问题的。或者你有一些建议如何快速隔离这些问题,这样我就不必穿插puStrLn/echo整个脚本中的命令?

最佳答案

遗憾的是,这是不可能的,因为海龟不提供追踪。例如,mv仅使用 Haskell 函数定义(无 shell 调用),因此在运行时无法打印任何内容:

mv :: MonadIO io => FilePath -> FilePath -> io ()
mv oldPath newPath = liftIO (Filesystem.rename oldPath newPath)

文档中提到了这个限制,作者建议看一下 Shelly ,这很相似,但提供了额外的功能:

turtle is designed to be beginner-friendly, but as a result lacks certain features, like tracing commands. If you feel comfortable using turtle then you should also check out the Shelly library which provides similar functionality.

关于haskell - 是否可以调试 Turtle 脚本(相当于 bash 中的 "-x"标志)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32584215/

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