Предполагая, как вы утверждаете в комментарии, что 0x
et. и др. на самом деле переменные, ваш код никогда не будет работать.
Переменные не являются значениями ; они переменные. Переменные хранят значений, но сами по себе они не являются значениями.
Когда вы создали свой массив, вы скопировали значения внутри этих переменных в массив. Эти записи массива изменены, но нет никакой связи между записями массива и тем, откуда они получили свои значения.
Если вы хотите манипулировать самими переменными, то они должны быть частью некоторой таблицы (возможно, глобальной таблицы), индексы массива должны быть именами строк этих значений, а ваша модифицирующая функция должна будет используйте v
для доступа к переменной из таблицы. Предполагая, что ваши переменные "0x
" являются записями в глобальной таблице, код будет выглядеть примерно так:
array={"0x", "0y", "1x", "1y"} --Storing string names of the variables.
for i, v in ipairs(array) do
if (i % 2) == 0 then
_G[v] = _G[v] + valuex
else
_G[v] = _G[v] + valuey
end
end