Чтение аргументов командной строки

Elixir:
Чтение аргументов командной строки

Как:

В Elixir, получение аргументов командной строки — проще простого. Используйте System.argv(), и вы получите их как список строк.

defmodule CliArgs do
  def main do
    args = System.argv()
    IO.inspect(args)
  end
end

CliArgs.main()

Запустите это как elixir cli_args.exs foo bar baz, и ожидайте:

["foo", "bar", "baz"]

Вы видите аргументы foo, bar и baz прямо там, в списке Elixir.

Глубокое погружение

Исторически, аргументы командной строки существуют очень давно, происходя из ранних сред CLI. В Elixir, System.argv() — это ваш верный конь для этой работы. Почему? Потому что он встроен в Erlang VM, на котором построен Elixir.

Альтернативы? Конечно, есть библиотеки, которые разбирают аргументы за вас, добавляя флаги и опции. Но для базового Elixir, System.argv() — это путь к следованию.

С точки зрения реализации, важно помнить, что System.argv() дает вам все аргументы в виде строк. Если вам нужны числа или другие типы, вам придется конвертировать их вручную. Также, порядок имеет значение. Ваш первый аргумент командной строки — это List.first(System.argv()), и так далее.

Смотрите также

Для большей информации, смотрите: