Criando um arquivo temporário

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

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.