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.