Другие функции
Функции не привязанные к типу.
Функции
l.dump()
Выводит данные переменной.
Пример
t = {1, 5, 10, 'Test', nil, false, {7, 8, 9}}
l.dump(t);
--[[ (table)table: 005180B8 {
[1] => (number)1
[2] => (number)5
[3] => (number)10
[4] => (string)Test
[6] => (boolean)false
[7] => table: 005180B8 {
[1] => (number)7
[2] => (number)8
[3] => (number)9
}
} ]]
l.args()
Обрабатывает опции командной строки.
Длинные опции можно писать как --opt=value, так и --opt value. Короткие только через пробел: -o value
Если в описании опции встречается <number>, то скрипт пытается привести полученное значение к числу. В противном случае значение становится false.
Так же false присваивается значению, которое обработалось с ошибками.
Файл test.lua
require 'l';
args = l.args([[
Usage: test.lua OPTION
-f, --funky=<word> make <word> funky
-n, --number=<number> print <number>
-h, --help display this help
-v, --version output version information
]]);
if args.help or args.version then
print('Super-duper script v. 17.22.14.');
end;
if args.help then
print(args);
end;
if args.funky then
print('Funky'..args.funky);
end;
if args.number then
print('Answer is '..args.number);
end;
l.dump(args);
Пример
test.lua -v -h --funky=town --number 42
--[[ Super-duper script v. 17.22.14. Much better than Windows. Mom told me.
Usage: test.lua OPTION
-f, --funky=<word> make <word> funky
-n, --number=<number> print <number>
-h, --help display this help
-v, --version output version information
Funkytown
Answer is 42
(table)table: 0044E208 {
[number] => (number)42
[version] => (boolean)true
[0] => (table)table: 0044E208 {
[1] => (string)42
}
[funky] => (string)town
[help] => (boolean)true
} ]]