2017-02-17 61 views
1

我需要在Actions中引用由名稱withTempDir創建的目錄。我猜測當前的工作目錄被withTempDir所改變,這很可能在簡單情況下起作用。但是,某些操作必須自己執行(Cwd somewhere)如何在規則中使用withTempDir創建的目錄?

Action中有沒有辦法獲得創建的臨時目錄的完整路徑名?

回答

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加以改進。

相關問題