Pointers Lua:如何通过变量指向数组项?
例如:Pointers Lua:如何通过变量指向数组项?,pointers,lua,Pointers,Lua,例如: local array = {2, 6} local value = array[1] ... value = 4 -- Intended: change the value in the original array ... print(array[1]) -- Will print 2, not 4 as intended 这可能吗?我这样问是因为我正在开发一个图形API,我希望能够在着色器上执行color=something而不是frag.data[1]=something,
local array = {2, 6}
local value = array[1]
...
value = 4 -- Intended: change the value in the original array
...
print(array[1]) -- Will print 2, not 4 as intended
这可能吗?我这样问是因为我正在开发一个图形API,我希望能够在着色器上执行
color=something
而不是frag.data[1]=something
,它看起来更好,更易于使用和理解。这是不可能的。Luanumber
类型是值,而不是指针,但您可以执行类似于array={{2}、{6}
的操作,然后
local array = {{2}, {6}}
local value = array[1]
value[1] = 4
print(value[1])
这是不可能的。Lua
number
类型是值,而不是指针,但您可以执行类似于array={{2}、{6}
的操作,然后
local array = {{2}, {6}}
local value = array[1]
value[1] = 4
print(value[1])
你这边似乎有点不对劲。我复制并粘贴了你的代码,它打印了4个。我不知道!我改变了密码;这仍然有效吗?现在不行了,因为您是按值复制的。只有表通过引用被复制。看,这就是我所说的;我希望能够做到这一点,除非您将实现更改为使用表,否则这是不可能的。我复制并粘贴了你的代码,它打印了4个。我不知道!我改变了密码;这仍然有效吗?现在不行了,因为您是按值复制的。只有表通过引用被复制。看,这就是我所说的;我希望能够做到这一点,除非您将实现更改为使用表,否则这是不可能的。