Модуль l для Lua

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

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

Meta

Метатаблицы настроек для работы с типами данных.

Поведение типов

Математические операторы (+, -, *, /, ^).

require 'l';

print(10 + '10'); --> 20
print(10 + 'ololo'); --> 10; если строку нельзя привести к числу, то это 0
print(10 + false); --> 10; false это 0
print(10 + true); --> 11; екгу это 1
print(10 + nil); --> 10; nil это 0

Склеивание строки (..)

require 'l';

print('Say ' .. 100); --> Say 100
print('Say ' .. 0); --> Say 0
print('Say ' .. false); --> Say 0;
print('Say ' .. true); --> Say 1
print('Say ' .. nil); --> Say

Пространства типов

По умолчанию строки имеют доступ к модулю string.

s = 'test';

-- function: 002C9978
print(s.upper);

-- (boolean)true
l.dump(s:upper() == string.upper(s));

С l числа имеют доступ к модулю math.

n = 10.5;

-- function: 006E9B38
print(n.ceil);

-- (boolean)true
l.dump(n:ceil() == math.ceil(n));

Булины и nil так же имеют свои пространства, но анонимные.

b = true;
b.some = 10;

-- (boolean)true
l.dump(b);

-- (number)10
l.dump(b.some);