Мне интересно, есть ли способ указать, следует ли копировать или просто ссылаться на параметры функции lua. Цвет - это объект, представляющий цвет.
Например, с этим кодом
function editColor(col)
col.r = 0
print(tostring(col.r))
end
color = Color(255, 0, 0)
print(tostring(color.r))
editColor(color)
print(tostring(color.r))
Делает вывод
255
0
0
Таким образом, col - это «ссылка» на цвет, но этот код:
function editColor(col)
col = Color(0, 0, 0)
print(tostring(col.r))
end
color = Color(255, 0, 0)
print(tostring(color.r))
editColor(color)
print(tostring(color.r))
делает этот вывод
255
0
255
Так что здесь цвет копируется.
Есть ли способ принудительно скопировать или ссылаться на параметр? Так же, как оператор &
в C ++?