Я делаю обзор кода и вижу код, в котором автор хочет изменить переданный аргумент, и вместо простого изменения переменной аргумента переопределяет его с помощью local
, например:
function doThing(x)
local x = {1, 2, 3, 4}
return x
end
Я понимаю, что наличие local
здесь не нужно, поскольку аргумент уже является локальным для функции, однако я не уверен, что это влияет на производительность (например, если x
является большой таблицей) и остается в тени, когда переменная переопределена с local x
).
Есть ли разница в производительности между приведенным выше примером и следующим способом его написания без local
?
function doThing(x)
x = {1, 2, 3, 4}
return x
end