Scrivere un file di testo

Elixir:
Scrivere un file di testo

Come fare:

Elixir rende la gestione dei file semplice con moduli incorporati. Il modo principale per scrivere su un file è utilizzando le funzioni File.write/2 o File.write!/2, dove il primo restituisce una tupla :ok o :error e il secondo genera un errore in caso di fallimento.

Ecco un esempio semplice:

# Scrivere su un file, messaggio semplice
File.write("ciao.txt", "Ciao, Mondo!")

# Quando esegui il codice, crea 'ciao.txt' con "Ciao, Mondo!" come contenuto

Per aggiungere contenuti ai file, si utilizza File.open/3 con le opzioni [:write, :append], poi IO.binwrite/2 per appendere il contenuto:

# Appendere a un file
{:ok, file} = File.open("ciao.txt", [:write, :append])
IO.binwrite(file, "\nAggiungiamo un'altra riga.")
File.close(file)

# Ora 'ciao.txt' include una seconda riga "Aggiungiamo un'altra riga."

Se stai lavorando con grandi quantità di dati o hai bisogno di più controllo sul processo di scrittura, potresti usare il modulo Stream per scrivere dati sul file in modo pigro:

# Scrivere un grande dataset in modo pigro
stream_data = Stream.iterate(0, &(&1 + 1))
            |> Stream.map(&("Numero: #{&1}\n"))
            |> Stream.take(10)

File.open!("numeri.txt", [:write], fn file ->
  Enum.each(stream_data, fn line ->
    IO.write(file, line)
  end)
end)

# Questo crea 'numeri.txt', scrivendo i numeri da 0 a 9, ognuno su una nuova riga.

Per progetti che richiedono una gestione dei file più sofisticata, potresti esplorare librerie di terze parti come CSV, che offre funzionalità su misura per la manipolazione di file CSV, ma ricorda, per molti scopi, le capacità incorporate di Elixir sono più che sufficienti.