Elixir:
Att skriva en textfil

Hur man gör:

Elixir gör filhantering okomplicerad med inbyggda moduler. Det primära sättet att skriva till en fil är att använda funktionerna File.write/2 eller File.write!/2, där den första returnerar en :ok eller :error tupel och den senare orsakar ett fel vid misslyckande.

Här är ett enkelt exempel:

# Skriver till en fil, enkelt meddelande
File.write("hello.txt", "Hello, World!")

# När du kör koden skapas 'hello.txt' med "Hello, World!" som innehåll

För att lägga till i filer skulle du använda File.open/3 med alternativen [:write, :append], sedan IO.binwrite/2 för att lägga till innehållet:

# Lägger till i en fil
{:ok, fil} = File.open("hello.txt", [:write, :append])
IO.binwrite(fil, "\nLåt oss lägga till en annan rad.")
File.close(fil)

# Nu innehåller 'hello.txt' en andra rad "Låt oss lägga till en annan rad."

Om du arbetar med stora data eller behöver mer kontroll över skrivprocessen, kan du använda Stream-modulen för att lat ladda data till filen:

# Skriver en stor datamängd lat
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 rad ->
    IO.write(fil, rad)
  end)
end)

# Detta skapar 'numbers.txt', och skriver nummer 0 till 9, varje på en ny rad.

För projekt som kräver mer avancerade filhanteringar kan du titta på tredjepartsbibliotek som CSV, vilket erbjuder skräddarsydda funktioner för hantering av CSV-filer men kom ihåg, för många ändamål är Elixirs inbyggda förmågor mer än tillräckliga.