Lua:
Lectura de argumentos de línea de comandos
Cómo hacerlo:
Para leer argumentos de la línea de comandos en Lua, se utiliza la tabla global arg
. Aquí un ejemplo básico:
-- script.lua
for i = 1, #arg do
print(i, arg[i])
end
Si ejecutas este script en la terminal así:
lua script.lua hola mundo
Obtendrás como salida:
1 hola
2 mundo
Inmersión Profunda:
Históricamente, los argumentos de línea de comandos son una de las primeras formas de interactuar con programas. En Lua, la tabla arg
almacena estos argumentos y también los campos arg[-1]
, arg[0]
que representan el comando y el nombre del script, respectivamente.
Lua no tiene una biblioteca estándar para parsear argumentos más complejos (como banderas -a value
), pero hay múltiples bibliotecas de terceros que puedes integrar.
Cabe destacar que los elementos en arg
son siempre strings. Si necesitas otros tipos, tendrás que convertirlos manualmente. Por ejemplo:
-- Suponiendo que necesitas un número y un booleano
local num = tonumber(arg[1])
local flag = arg[2] == 'true'
Si tu programa va a ser usado con frecuencia y necesita opciones más sofisticadas, considerar una librería para gestionar argumentos podría ser una inversión que ahorra tiempo.
Ver También:
- Programming in Lua (Fourth edition), para entender más sobre los fundamentos de Lua.
- LuaRocks, donde puedes buscar paquetes como
argparse
si necesitas más funcionalidad para manejar argumentos. - La documentación oficial de Lua para los más cuadriculados en obtener la información de primera mano.