__index(self, key) — функция или таблица, с помощью которых оригинальная таблица ищет ключи, если их не существует; __newindex(self, key, value) — функция, как добавлять в таблицу *новые* ключи, на уже существующие — не действует; __call(self, ...) — фунция, которая вызовется когда таблицу попробуют вызвать как как функцию; __tostring(self) — функция, вызывающаяся при попытке преобразовать таблицу в строку __concat(a, b) — функция, вызывающаяся при попытке конкатенации таблицы с чем либо __metatable — значение, которое возвращается попытке взять метатаблицу у данной таблицы, позволяет скрывать метатаблицы; __mode — строка, управляющая связями в таблице при сборке мусора, k=слабые ключи, v=слабые значения; __gc(self) — функция, которая будет вызвана при сборе userdata(5.1+) или таблицы(5.2+) мусорщиком, если очень хочется в 5.1 — есть способ применения; __len(self) — функция которая будет вызываться при попытке вычисления длины таблицы, с помощью оператора # (5.2+); __pairs(self) — функция, альтернатива итератора pairs (5.2+); __ipairs(self) — функция, альтернатива ipairs (5.2+); __add — (+) сложение; __sub — (-) вычитание; __mul — (*) умножение; __div — (/) деление; __pow — (^) возведение в степень; __mod — (%) деление по модулю; __idiv — (//) деление с изъятием целой части (5.3+); __eq — (==) сравнение равенства; __lt — (<) сравнение «меньше чем», в обратную сторону выполняется автоматически, реверсируя аргументы; __le — (<=) сравнение «меньше или равно»; __band — (&) И; __bor — (|) ИЛИ; __bxor — (~) исключающее ИЛИ (a ~ b); __bnot — (~) НЕТ (~a); __bshl — (<<) битовый сдвиг влево; __bshr — (>>) битовый сдвиг вправо.
Lua Справочник v0.05 © 2007-2024 Igor Salnikov aka SunDoctor