Lua: таблица функций - PullRequest
       11

Lua: таблица функций

3 голосов
/ 06 мая 2011

Я пытаюсь сохранить различные функции в таблице, но почему-то это не сработает так, как я думал. Вот мой «код»

fn_table = { aFun1=print, aFun2=self:getSpeedLevel, aFun3=.... }

Проблема сейчас в том, что я могу сделать это с помощью встроенных функций, таких как print, assert и так далее, но это не будет работать с другими функциями, которые у меня есть.

Я получаю сообщение об ошибке: "... ожидаются аргументы функции рядом с '}'

Можно ли также сохранить эти функции?

1 Ответ

5 голосов
/ 06 мая 2011

aFun2 = self:getSpeedLevel - синтаксическая ошибка, и это то, на что жалуется Луа. Попробуйте aFun2 = getSpeedLevel или aFun2 = self.getSpeedLevel (при условии, что self является таблицей). Глава Объектно-ориентированное программирование в книге PiL содержит больше примеров функций, хранящихся в таблицах.

...