Цитата
В интернетах начитался, что на луа можно определять функции где угодно в коде.
Мне подобную ересь когда-то AI пытался втереть. Вы можете обращаться в коде только к тому, что объявлено выше текущей строки. В качестве альтернативы вы можете что-то объявить в шапке, а определить позднее:
Код
--lua
local a = nil
local my_print = function()
log(a)
end
a = 123
my_print()
Дано исключительно в виде самого элементарного примера. Лично в моей практике чаще всего приходится подобным заниматься, когда необходимо чтобы две функции могли вызывать друг-друга при каких-то обстоятельствах. Чаще всего не напрямую, а через некоторый набор взовов других функций. А как это сделать, если для видимости каждая из них должна быть выше другой? Только аналогично примеру.