Elixir:
Création d'un fichier temporaire

How to:

En Elixir, la création d’un fichier temporaire n’est pas directement intégrée dans la bibliothèque standard. On utilise généralement :os.cmd avec des commandes systèmes, ou des packages tiers, comme Temp de la bibliothèque Erlang.

# Avec :os.cmd et le système
commande = "mktemp"
{fichier_temp, 0} = :os.cmd(commande) |> to_string() |> String.trim() |> String.split("\n")
IO.puts("Fichier temporaire créé: #{fichier_temp}")

# Utiliser après et supprimer le fichier temporaire
# [...]
:os.cmd('rm ' <> fichier_temp)

Output:

Fichier temporaire créé: /tmp/tmp.WaXbJk9kUR

C’est brut et sans fioritures, mais ça marche.

Deep Dive

Avant, les fichiers temporaires étaient risqués – si vous ne les supprimez pas, ils s’accumulent. En Elixir, sans fonction intégrée pour les fichiers temporaires, il faut bien faire le ménage soi-même ou utiliser une bibliothèque. :os.cmd est notre rustine ici, mais attention : ces commandes dépendent du système d’exploitation et ne sont pas multiplateformes.

En considérant les alternatives, la bibliothèque Temp d’Erlang est assez sympa pour simplifier tout cela. Elle crée et supprime des fichiers temporaires sans que vous ayez à vous inquiéter du système sous-jacent.

See Also