Elixir:
Läsa in kommandoradsargument
Så här gör du:
Elixir gör det enkelt att hantera kommandoradsargument med System.argv/0
. Här är ett exempel:
defmodule Greeter do
def main(args) do
args |> Enum.join(" ") |> IO.puts()
end
end
Greeter.main(System.argv())
Om du sparar detta som greeter.exs
och kör elixir greeter.exs Hej Värld
, blir output:
Hej Värld
Fördjupning
Elixir, som är byggt på Erlang’s VM, ärande för skriptspråk med lätt skalbarhet och felhantering. Att läsa in kommandoradsargument är vanligt i många språk och verktyg för kommando rader som optparse
finns också i Elixir för mer komplexa ändamål.
Din kod kör i Elixir’s interpreter, där System.argv/0
är ett inbyggt anrop som ger tillgång till användardefinierade argument. För mer control, använd OptionParser.parse/2
som hanterar flaggor och nyckelord etc.
Ett exempel med OptionParser
:
defmodule Greeter do
def main do
{opts, args, _} = OptionParser.parse(System.argv())
welcome = if opts[:capitalize], do: String.upcase(Enum.join(args, " ")), else: Enum.join(args, " ")
IO.puts welcome
end
end
Greeter.main()
Om du kör elixir greeter.exs --capitalize hej värld
, blir output HEJ VÄRLD
.