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])
endSi ejecutas este script en la terminal así:
lua script.lua hola mundoObtendrás como salida:
1 hola
2 mundoInmersió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
argparsesi 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.