エラーが発生しやすいと思われるパターンを示す最初の使用例を見つけました。Shake
contents <- readFileLines $ out -<.> "txt"
need contents
cmd "tar -cf" [out] contents
それらを読んで参照するneed contents
ときになぜ必要なのですか?これは、要求を避けることができるようにするためですか?readFileLines
cmd
ApplicativeDo
エラーが発生しやすいと思われるパターンを示す最初の使用例を見つけました。Shake
contents <- readFileLines $ out -<.> "txt"
need contents
cmd "tar -cf" [out] contents
それらを読んで参照するneed contents
ときになぜ必要なのですか?これは、要求を避けることができるようにするためですか?readFileLines
cmd
ApplicativeDo
混乱の一部は、のタイプ/セマンティクスである可能性があると思いますcontents
。ファイルout -<.> "txt"
にはファイル名のリストが含まれているため、ファイル名contents
のリストです。need contents
ファイル自体を作成して依存する必要がある場合は、ファイル名を使用してファイルを指定します。contents
に渡すとき、ファイルのクエリに使用するcmd
ファイル名を渡します。tar
したがって、重要な点はreadFileLines
、問題のファイルを読み取らず、別のファイルからファイル名のみを読み取ることです。need
ファイルの使用に問題がないことを確認するためにを使用する必要があり、実際にcmd
. 3 つの行を別の方法で見ると、次のようになります。
それは理にかなっていますか?との関係はありませんApplicativeDo
-その存在は私たちをまったく助けません.