Elixir:
Lendo argumentos da linha de comando
How to:
Comece com um projeto Elixir. Aqui está o que você precisa:
# Para capturar argumentos da linha de comando, use System.argv():
defmodule CommandLineExample do
def main(args \\ System.argv()) do
IO.inspect(args)
end
end
# Para rodar, chame `CommandLineExample.main` na shell interativa:
CommandLineExample.main(["arg1", "arg2", "arg3"])
# Saída esperada: ["arg1", "arg2", "arg3"]
Para executar com argumentos de linha de comando reais, compile e execute o seguinte:
# compile o código
elixirc command_line_example.exs
# execute com argumentos
elixir -e "CommandLineExample.main" -- arg1 arg2 arg3
# Saída esperada: ["arg1", "arg2", "arg3"]
Deep Dive
Historicamente, Elixir, assim como muitas linguagens no universo de Erlang VM, é usada para sistemas distribuídos. Argumentos da linha de comando são essenciais para iniciar nodos, configurar detalhes do sistema e passar flags de ambiente.
Alternativamente, se você precisa de análise de argumentos mais sofisticada, como flags, olhe para bibliotecas externas como OptionParser
:
parsed_args = OptionParser.parse(args, switches: [mode: :string])
Ao ler argumentos da linha de comando diretamente, o Elixir os trata como uma lista de strings. Todo o parsing e a validação são por sua conta, o que é ótimo para controle granular, mas pode ser trabalhoso para casos mais complexos.