Haskell:
Criando um arquivo temporário
Como Fazer:
Para criar um arquivo temporário em Haskell, você pode usar a biblioteca temporary
. Vou te mostrar como rola:
import System.IO (hClose)
import System.IO.Temp (withSystemTempFile)
main :: IO ()
main = withSystemTempFile "meuTemp.txt" $ \filepath handle -> do
putStrLn $ "O arquivo temporário é: " ++ filepath
-- Escreva no arquivo usando handle
-- Quando o bloco terminar, o arquivo é automaticamente excluído
Quando você executar isso, verá algo assim:
O arquivo temporário é: /tmp/meuTemp.txt123456
Pronto! O arquivo existe enquanto seu código roda, e depois, puff, some.
Mergulho Profundo
Antigamente, antes de termos abstrações bacanas como withSystemTempFile
, você teria que gerenciar os arquivos temporários na mão. Isso poderia ser enrolado e trazer bugs.
Alternativas? Claro, você pode criar arquivos com nomes únicos manualmente, mas por que reinventar a roda?
Implementação… a withSystemTempFile
cuida do ciclo de vida do arquivo temporário. Ela cria, passa o handle pro seu código, e assegura que o arquivo seja deletado após o bloco. Conveniente, né?
Veja Também
- Pacote temporary no Hackage
- Tutorial de IO em Haskell
- Repositório GHC, onde você pode bisbilhotar como as coisas são feitas em Haskell
Ié, isso é só um gostinho. Haskell tem muito mais sob o capô. Fuçar esses links e explorar por conta própria é uma boa pedida.