Lectura de argumentos de línea de comandos

Elixir:
Lectura de argumentos de línea de comandos

Cómo Hacerlo:

Elixir hace que leer argumentos de la línea de comandos sea sencillo con System.argv/0. Ejemplo simple:

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

# Para ejecutarlo: elixir mi_app.exs arg1 arg2 arg3
# Salida: ["arg1", "arg2", "arg3"]

Si quieres algo más elaborado, usa la librería OptionParser:

defmodule CLIApp do
  def main do
    {opts, args, _} = OptionParser.parse(System.argv())
    
    IO.inspect(opts) # Opciones con flag, como --name
    IO.inspect(args) # Argumentos posicionales restantes
  end
end

# Ejecuta: elixir mi_app.exs --name Pepito arg1
# Salida: [name: "Pepito"]
#         ["arg1"]

Más Información:

Históricamente, leer argumentos de línea de comandos es algo que proviene de los primeros días de los sistemas UNIX, permitiendo a los programas comportarse de manera flexible. Elixir, al funcionar sobre la Erlang VM, hereda esta posibilidad y la simplifica.

Alternativas a OptionParser podrían ser libs externas como Clam, que ofrecen aún más funcionalidades, como validaciones y generación de ayuda.

Detalles de implementación en Elixir incluyen la conversión automática de argumentos recibidos a listas de strings (string lists), y la capacidad de manejar opciones con múltiples valores usando OptionParser.

Ver También: