gpt4 book ai didi

shake-build-system - 为什么 Shake 依赖项是明确的 `needed` ?

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

我先找到example Shake 用法演示了一种似乎容易出错的模式:

    contents <- readFileLines $ out -<.> "txt"
need contents
cmd "tar -cf" [out] contents

readFileLines 读取它们并且 cmd 引用它们时,为什么我们需要 need contents?这是为了避免要求 ApplicativeDo 吗?

最佳答案

我认为部分混淆可能是 contents 的类型/语义.文件out -<.> "txt"包含文件名列表,所以 contents是文件名列表。当我们need contents我们要求文件本身被创建和依赖,使用文件名来指定哪些文件。当我们通过 contentscmd我们正在传递 tar 的文件名将用于查询文件。

所以关键点是readFileLines不读取有问题的文件,它只从另一个文件中读取文件名。我们必须使用 need确保使用这些文件没问题,然后我们实际使用 cmd 中的文件.查看这三行的另一种方式是:

  1. 我们要对哪些文件进行操作?
  2. 确保这些文件已准备就绪。
  3. 使用这些文件。

这有意义吗?与ApplicativeDo没有关系- 它的存在对我们一点帮助都没有。

关于shake-build-system - 为什么 Shake 依赖项是明确的 `needed` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35705621/

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