Elixir:
Skrive en tekstfil

Hvordan:

Elixir gjør filhåndtering enkelt med innebygde moduler. Den primære måten å skrive til en fil på er ved å bruke funksjonene File.write/2 eller File.write!/2, hvor den første returnerer en :ok eller :error tuple og den andre utløser en feil ved mislykket forsøk.

Her er et enkelt eksempel:

# Skrive til en fil, enkel melding
File.write("hello.txt", "Hei, Verden!")

# Når du kjører koden, opprettes 'hello.txt' med innholdet "Hei, Verden!"

For å legge til i filer, ville du brukt File.open/3 med alternativene [:write, :append], deretter IO.binwrite/2 for å legge til innhold:

# Legge til i en fil
{:ok, fil} = File.open("hello.txt", [:write, :append])
IO.binwrite(fil, "\nLa oss legge til en linje til.")
File.close(fil)

# Nå inkluderer 'hello.txt' en andre linje "La oss legge til en linje til."

Hvis du jobber med store data eller trenger mer kontroll over skriveprosessen, kan du bruke Stream-modulen for å lat skrive data til filen:

# Skrive et stort datasett latently
stream_data = Stream.iterate(0, &(&1 + 1))
            |> Stream.map(&("Nummer: #{&1}\n"))
            |> Stream.take(10)

File.open!("numbers.txt", [:write], fn fil ->
  Enum.each(stream_data, fn linje ->
    IO.write(fil, linje)
  end)
end)

# Dette oppretter 'numbers.txt', og skriver tallene 0 til 9, hvert på en ny linje.

For prosjekter som krever mer sofistikert filhåndtering, kan du se på tredjepartsbiblioteker som CSV, som tilbyr skreddersydde funksjonaliteter for CSV-filmanipulasjon, men husk, for mange formål, er Elixirs innebygde funksjoner mer enn tilstrekkelige.