Вопросы по теме 'metatable'
Можете ли вы сравнить типы таблиц или метатаблиц в Lua?
Я вызываю функцию API в функции сценариев Beta Lua Lord of the Rings Online (LOTRO). Метод API возвращает «тип», называемый ClassAttributes, который будет одним из заданных «типов» атрибутов класса. Я говорю «типы», потому что когда я вызываю...
959 просмотров
schedule
16.05.2022
Как я могу преобразовать каждый индекс в таблицу с помощью метатаблицы?
Я пытаюсь написать метатаблицу, чтобы все индексы в таблице были сдвинуты вверх на одну позицию (т.е. t[i] должно возвращать t[i+1] ). Мне нужно сделать это, потому что таблица определена с использованием индекса 1 в качестве первого элемента, но...
226 просмотров
schedule
03.02.2023
Corona SDK как удалить объект?
Что ж, у меня возникли проблемы с удалением объекта из игры, дело в том, что у меня есть класс игрока (сделанный из метатаблицы), внутри него у меня есть переменная с именем спрайт, которая содержит адрес спрайта изображения, который я буду рисовать...
7998 просмотров
schedule
24.07.2022
Функция Lua OOP не вызывается?
Я использую Lua и LuaBridge с Allegro 5. Я решил портировать все графические объекты на Lua, но столкнулся с некоторыми проблемами:
Класс символов, который вызывается один раз
Character = {sprite; AI}
function Character:new()
o = o or {} --...
472 просмотров
schedule
07.06.2022
Не знаете, как насчет метатаблиц Lua на стр. 108 книги "Программирование на Lua"
Я изучаю Lua по книге Программирование на Lua, первое издание . У меня проблемы с пониманием метатаблиц.
Это код и пояснения, которые появляются на странице 108:
Set = {}
function Set.new (t)
local set = {}
for _, l in ipairs(t) do...
259 просмотров
schedule
17.11.2022
Сравните значение с таблицей, используя метатаблицы в Lua.
Я ищу способ в Lua 5.1 сравнить с метатаблицами, чтобы я мог сравнить любое значение с таблицей. Если это значение находится в таблице, оно возвращает true и false, если его нет в таблице. как следующее.
if table == string then
-- does...
397 просмотров
schedule
30.09.2022
какова фактическая реализация lua __pairs?
Кто-нибудь знает фактическую реализацию lua 5.2. метаметод __pairs ? Другими словами, как мне реализовать __pairs как метаметод в метатаблице, чтобы он работал точно так же с pairs() ?
Мне нужно переопределить __pairs и пропустить некоторые...
4132 просмотров
schedule
01.09.2022
Метатабличная проблема
Итак, я знаю, что lua будет искать метатаблицу таблицы, если она не содержит переменной, на которую я ссылаюсь, но кажется неправильным, что когда я пытаюсь установить переменную, которая еще не существует в таблице, вместо этого она устанавливает ее...
115 просмотров
schedule
12.05.2022
Почему это вызывает переполнение стека C?
Я знаю, что могу решить эту проблему, используя rawset , но мне просто интересно, почему следующий код вызывает переполнение стека C.
local mt = {
__newindex = function(self, key, value)
self[key] = value
end
}
local x =...
110 просмотров
schedule
05.12.2022
Метатаблица Lua, как перенаправить неопределенные функции?
У меня есть пустая таблица, которую я хочу использовать как «шлюз» для другого набора функций в другом месте.
tbl = {}
Я хочу передать вызываемые функции из этой таблицы в другое место в виде строки:
tbl.someMethod("hello")
Я...
324 просмотров
schedule
02.03.2023
Метатаблицы, попытка вызвать метод rename (нулевое значение)
Я впервые использую метатаблицы, я сделал простой скрипт для тестирования в демо Lua, но он всегда дает мне «попытку вызвать метод 'rename' (нулевое значение)», почему?
peds = {}
function peds.new ( name )
local tb = { name = name }...
464 просмотров
schedule
26.09.2022
Справочная таблица Lua внутри метатаблицы
У меня сейчас довольно умопомрачительная установка. У меня есть обычная функция, которая возвращает таблицу с функциями в ней под ключами "строка" и "число":
function defGeneric()
local function funcNumber(a)
return 2*a^2
end...
342 просмотров
schedule
16.05.2022
как сделать так, чтобы __index и __newindex обнаруживали table.index
Я все еще немного новичок в метатаблицах, и есть кое-что, что меня смущает.
когда я использую метаметоды, такие как __index и __newindex в своей метатаблице, они вызываются только тогда, когда я вызываю элемент таблицы следующим образом:...
114 просмотров
schedule
12.06.2022