LINUX.ORG.RU

История изменений

Исправление Ceiling_QB, (текущая версия) :

Метатаблицы

Очень простой механизм. Поля метатаблицы определяют поведение (чтение/запись, перегрузка операторов и т.д.) таблиц, на которых эта метатаблица висит. Скорее всего, ты не осилил __index и __newindex, но там тоже просто. Если на таблице A висит метатаблица B, и в A нет поля x, то чтение этого поля будет осуществляться через B.__index; аналогично с записью через __newindex.

Но вообще, для классов можно было взять чужую реализацию. Например, из библиотеки hump.

Глобальные по дефолту

http://lua-users.org/wiki/LocalByDefault

Это вообще не проблема, не могу вспомнить ни одну ошибку, связанную с глобальными переменными года за 3. Возможно, дело в использовании luacheck, но вот как-то так.

Оператор GOTO нарушает обратную совместимость между версиями.

Ты о чём?

Да и встраивание в СИ не сказать чтобы простое…ну это еще ладно. Нерукожоп справится.

Я рукожоп, но как-то справился. Нужно всего-то понять, как работать с Луашным стеком. Можно даже в исходники стандартной библиотеки заглянуть за примерами, там ничего страшного.

Исходная версия Ceiling_QB, :

Метатаблицы

Очень простой механизм. Поля метатаблицы определяют поведение (чтение/запись, перегрузка операторов и т.д.) таблиц, на которых эта метатаблица висит. Скорее всего, ты не осилил __index и __newindex, но там тоже просто. Если на таблице A висит метатаблица B, и в A нет поля x, то чтение этого поля будет осуществляться через B.__index; аналогично с записью через __newindex.

Глобальные по дефолту

http://lua-users.org/wiki/LocalByDefault

Это вообще не проблема, не могу вспомнить ни одну ошибку, связанную с глобальными переменными года за 3. Возможно, дело в использовании luacheck, но вот как-то так.

Оператор GOTO нарушает обратную совместимость между версиями.

Ты о чём?

Да и встраивание в СИ не сказать чтобы простое…ну это еще ладно. Нерукожоп справится.

Я рукожоп, но как-то справился. Нужно всего-то понять, как работать с Луашным стеком. Можно даже в исходники стандартной библиотеки заглянуть за примерами, там ничего страшного.