我需要在Actions中按名称引用withTempDir
创建的目录。我猜测当前工作目录由withTempDir
更改,这可能在简单的情况下有效。但是,有些操作必须自己执行(Cwd somewhere)
。
在Action中有没有办法获取创建的临时目录的完整路径名?
答案 0 :(得分:1)
withTempDir
不会更改当前目录。通常,在多线程程序中更改当前目录(全局资源)是一个非常糟糕的主意。临时目录的名称将传递给withTempDir
的函数,因此您可以执行以下操作:
withTempDir $ \mydir -> do
putNormal $ "Temp directory is " ++ mydir
liftIO $ writeFile (mydir </> "test.txt") "writing out a temp file"
我同意withTempDir
的文档有点缺乏,因此需要raised a bug来改进它们。