Elixir:
Odczytywanie argumentów linii poleceń
How to (Jak to zrobić?)
Oto jak w Elixirze możemy odczytać argumenty linii poleceń:
defmodule CliArgs do
def main(args) do
case args do
[] ->
IO.puts "Nie podano argumentów!"
_ ->
IO.puts "Oto twoje argumenty:"
Enum.each(args, &IO.puts/1)
end
end
end
CliArgs.main(System.argv())
Uruchamiając program tak:
elixir my_script.exs arg1 arg2 arg3
Dostaniesz wynik:
Oto twoje argumenty:
arg1
arg2
arg3
Deep Dive (Dogłębna analiza)
Argumenty linii poleceń są tak stare jak same systemy operacyjne. W Elixirze odczytujemy je funkcją System.argv()
, która zwraca listę argumentów jako stringi.
Alternatywnie można użyć biblioteki OptionParser
, która przekształca argumenty w zrozumiały i użyteczny sposób. Umożliwia to np. rozróżnianie opcji od pozostałych argumentów.
Elixir jest językiem funkcjonalnym, więc argumenty są często przekazywane bezpośrednio do funkcji i przetwarzane w sposób funkcjonalny (jak w przykładzie wykorzystującym Enum.each).