меня есть код:
function func2()
print(a)
end
function func1(a)
func2()
end
print(func1())
Выведет nil.
Хотя я щас думаю может просто использовать локальную таблицу, чтоб функция принимала эту таблицу, а потом её возвращала. Но может есть проще способ просто передать все локальные переменные.
Решил таким способом, в начале функции: local t = var.t local i = var.i local x_pos = var.x_pos local y_pos = var.y_pos local max_width = var.max_width local max_height = var.max_height В самой функции могут производиться различные операции с переменными, потом их возвращаю: return { t = t, i = i, lib = lib, x_pos = x_pos, y_pos = y_pos, max_width = max_width, max_height = max_height, }
Существует. Сделай их не отдельными переменными, а ключами в таблице. И передавай таблицу.
Я уже так и сделал
Замыкания, нет ?
function func2(a) f1 = function() print(a) end return f1 end func2()() func2(5)()
Нет, у меня такого нету. Но я уже решил проблему.
Обсуждают сегодня