问题标签 [haskell-turtle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
431 浏览

haskell - 使用 Haskell 和海龟库从文件流式传输时如何删除行

假设我想从一个文件流式传输到另一个文件,但我想跳过输入文件的前 n 行。如何在不首先使用 'fold' 折叠整个第一个文件的情况下做到这一点?

'f' 应该在这里完成什么?

ps:我没有足够的声誉来创建“haskell-turtle”标签。

0 投票
4 回答
525 浏览

haskell - 如何在 Turtle 中 grep ls 的结果

我正在和Turtle一起玩,我面临以下问题。

我想做类似的事情(在外壳中)

我使用 Turtle 的尝试是

但我收到以下消息

我明白ls退货FilePath ,而grep工作Text,那我该怎么办?

更新

FilePath显然有一些解决方案涉及从到来回转换Text。这超出了我所期望的类似 shell 的程序的简单性。

有人提到了这个find功能,它可以以某种方式解决问题。然而find,它相当于findshell 函数,我只是想这样做ls | grep "foo"。我不是在尝试解决现实生活中的问题(如果我是,我会改用 bash),而是尝试像在 bash 中那样组合简单的积木。不幸的是,Turtle 中的积木似乎并不那么容易组合:-(。

0 投票
1 回答
310 浏览

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

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

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

0 投票
2 回答
173 浏览

haskell - Turtle 中的二进制重定向

我想做类似的事情:

curl -s http://example.com/some/file.bin >/usr/local/bin/foo

由于Shell是多态的,我可能可以按原样使用 Turtle 执行此操作,但是所有示例都在以下行上运行,Shell Text并且我还没有内化足够的 Haskell 来导航它。有没有惯用的方法Shell Bytestring或其他解决方案?

0 投票
3 回答
169 浏览

haskell - 在 Turtle 中编写 ExitCodes。为什么没有 Monad/Monad Transformer 实例?

我正在使用 Haskell 编写一个 shell 脚本,turtle并且想知道编写可能失败的命令的最佳实践。

现在我有一个案例表达式楼梯,如下所示:

如果case表达式在Maybe类型上进行扩展,解决方案将是派生一个Monad实例。

库作者是否有特殊原因尚未为其派生Monad实例,ExitCode或者是否有更好的方法来对 Haskell shell 代码进行错误处理?

0 投票
2 回答
224 浏览

haskell - Turtle:提示输入,没有尾随换行符

我正在编写一个控制台应用程序,它需要提示用户几件事。我正在使用海龟库。

我的功能如下所示:

但是echo是使用实现putStrLn的,因此,将使用尾随换行符打印其参数。

在海龟库中是否有类似于 Python 的输入函数raw_input,它结合了提示和读取用户输入?

0 投票
2 回答
682 浏览

haskell - 使用 haskell 的海龟库,如何从 FilePath 中提取文件名作为字符串?

使用 takeFileName 时出现类型错误:

是不是因为turtle 的 FilePath 和 prelude 的 FilePath 不一样?

0 投票
1 回答
150 浏览

haskell-turtle - 用haskell turtle创建软链接的命令是什么?

哪个命令创建与turtle 包的软链接?有一个复制文件的命令:命令 cp(在 Turtle.Prelude 中)但是如何建立软链接,即相当于 ln -s ?

可以使用使用过的 shell 或任何相关命令

确实有效,但我认为有更好的方法!

0 投票
1 回答
359 浏览

haskell - Haskell: Turtle: 命令行解析器

我一直在尝试用 Turtle 构建一个命令行解析器,没什么特别的:https ://github.com/Tyrn/go-procr

需要三种参数:布尔标志;选项、文本和整数;位置论据。到目前为止,我陷入了布尔标志和位置参数。不幸的是,即使这样,这些例子似乎也太基础了。

  1. 我真的需要为不同类型的选项构建单独的解析器吗(我没有设法用一个解析器来满足语法)?

  2. 无论如何,它不会按预期工作。

我无法弄清楚我的下一步应该是什么。

0 投票
1 回答
254 浏览

haskell - 堆栈解释器选项 - 添加外部依赖项

我正在用Turtle编写脚本,我需要来自 GitHub 的依赖项。我看到您可以在创建项目时添加这样的依赖项,方法是将其放入stack.yaml

但是是否可以通过命令行添加它?

这是用于运行脚本的命令行:

编辑

这些是我脚本的第一行: