действительно изменить глобальный

ностью сбит с толкуLuaпеременная область видимости и передача аргумента функции (значение или ссылка).

Смотрите код ниже:

local a = 9        -- since it's define local, should not have func scope
local t = {4,6}    -- since it's define local, should not have func scope

function moda(a)
  a = 10           -- creates a global var?
end
function modt(t)
  t[1] = 7         -- create a global var?
  t[2] = 8
end

moda(a)
modt(t)
print(a)  -- print 9 (function does not modify the parent variable)
print(t[1]..t[2])  -- print 78 (some how modt is modifying the parent t var) 

Таким образом, это поведение полностью смущает меня.

Означает ли это, что переменные таблицы передаются в функцию по ссылке, а не по значению?

Как создание глобальной переменной конфликтует с уже определенной локальной переменной?

Почемуmodt возможность изменить таблицу ещеmoda не может изменить переменную?

Ответы на вопрос(1)

Ваш ответ на вопрос