2017-02-17 3 views
1

アクションで名前でwithTempDirで作成されたディレクトリを参照する必要があります。私は現在の作業ディレクトリがwithTempDirによって変更されていると推測しています。これは単純なケースではうまくいくでしょう。ただし、アクションのいくつかは自分自身で行う必要があります(Cwd somewhere)ルールでwithTempDirで作成したディレクトリを使用するにはどうすればよいですか?

作成された一時ディレクトリの完全なパス名を取得する方法はありますか?

答えて

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を持って欠けているビットです。

関連する問題