В чем разница между этими myFunc
?Разница между названной функцией & анонимной функцией (Lua)
код 1
function wrapper()
local someVariable = 0;
function myFunc(n)
if n > 0 then return myFunc(n-1) end
end
return myFunc;
end
код 2
function wrapper()
local someVariable = 0;
local myFunc = function(n)
if n > 0 then return myFunc(n-1) end
end
return myFunc;
end
код 3
function wrapper()
local someVariable = 0;
local myFunc;
myFunc = function(n)
if n > 0 then return myFunc(n-1) end
end;
return myFunc;
end
Потому что, когда я имею в виду имя функции myFunc
внутри самого myFunc
. Их поведение не одно и то же. (Например, повышать стоимость someVariable
... проблематична:. -S)
Спасибо! Итак, когда я использую 'local function myFunc()' в коде 1, все они становятся идентичными? – HKTonyLee
@ HKTonyLee: Собственно, нет. Я полностью неправильно читаю ваш товар №2. Смотрите мою новую версию. –