Elixir:
Läsa en textfil
Hur man gör:
# Läs hela filen på en gång
{:ok, innehall} = File.read("exempel.txt")
IO.puts(innehall)
# Läs filen rad för rad
File.stream!("exempel.txt")
|> Enum.each(&IO.puts/1)
Sample Output:
Detta är innehållet i din textfil.
Andra raden, lika lättläst.
Djupdykning
Historiskt sett har filhantering i programmeringsspråk utvecklats från enkla, sekventiella läsningar till dagens strömmande och asynkrona I/O-hantering. I Elixir, som använder Erlang’s kraftfulla och robusta noder, kan vi läsa filer på olika sätt. File.read/1
läser innehållet i en fil direkt, medan File.stream!/3
schabloniserar processen och låter oss använda kraftfulla Enum-funktioner. Alternativt kan vi använda :file.open
följt av :file.read_line
för finjusterad kontroll över läsprocessen.
Elixir är byggt för att hantera fel elegant. Användning av tuples som {:ok, data}
och {:error, reason}
i filoperationer låter oss hantera potentiella fel snyggt. Dessutom levererar Elixir lätthanterade samtidighetsfördelar, vilket gör det utmärkt för applikationer som kräver hög tillgänglighet och felisolering när de hanterar filer.
Se också
- Elixirs officiella dokumentation för File-modulen: https://hexdocs.pm/elixir/File.html
- Gratis kurser på Elixir: https://elixirschool.com/
- Forum på Elixir: https://elixirforum.com/