1

withTempDir我需要在 Actions中引用按名称创建的目录。我猜测当前的工作目录被更改了withTempDir,这可能在简单的情况下有效。但是有些动作必须自己做(Cwd somewhere)

有没有办法在 Action 中获取创建的临时目录的完整路径名?

4

1 回答 1

1

withTempDir不改变当前目录。通常,在多线程程序中更改当前目录(全局资源)是一个非常糟糕的主意。临时目录的名称被传递给给定的函数withTempDir,所以你可以这样做:

withTempDir $ \mydir -> do putNormal $ "Temp directory is " ++ mydir liftIO $ writeFile (mydir </> "test.txt") "writing out a temp file"

我同意文档withTempDir有点缺乏,所以提出了一个错误来改进它们。

于 2017-02-20T06:54:24.877 回答