Модуль l для Lua

Небольшая библиотека для языка программирования Lua.

Скачать
Версия 0.4 (7.53 КБ)
Наверх

Другие функции

Функции не привязанные к типу.

Функции

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
} ]]