Диапазон функций Lua - PullRequest
       1

Диапазон функций Lua

1 голос
/ 18 июня 2011

Я получаю ошибку, если я так делаю.Что мне делать?

local function one()
    local function two()
        local function three()
            callMe() -- got error here
        end
    end
end

local function callMe()
    print ("can't call :(")
end

callMe()

Ответы [ 2 ]

6 голосов
/ 18 июня 2011

местные жители должны быть объявлены перед использованием:

local callMe
local function one()
    local function two()
        local function three()
            callMe() -- got error here
        end
    end
end
function callMe()
    print ("can't call :(")
end
callMe()
4 голосов
/ 18 июня 2011

Кроме пропущенных () для one, two и three, как сказал Барт Киерс, вызов three() будет ошибкой, поскольку callMe является локальной функцией вне three ' s область действия, поэтому он не знает эту функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...