Lua:如何通过变量指向数组项?

例如:

local array = {2, 6}
local value = array[1]

...
value = 4 -- 期望:更改原始数组中的值
...

print(array[1]) -- 将打印2,而不是期望的4

这种情况是否可行?我之所以问,是因为我正在开发一款图形API,我希望能够使用color = something而不是在着色器上使用frag.data[1] = something,它看起来更美观,更易于使用和理解。

点赞
用户5697743
用户5697743

这是不可能的。Lua的number类型是值类型,而不是指针类型,但是你可以像这样做 array = {{2}, {6}},然后

local array = {{2}, {6}}
local value = array[1]
value[1] = 4
print(value[1])
2016-09-14 15:11:01