Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pointers Lua:如何通过变量指向数组项?_Pointers_Lua - Fatal编程技术网

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
,它看起来更好,更易于使用和理解。

这是不可能的。Lua
number
类型是值,而不是指针,但您可以执行类似于
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个。我不知道!我改变了密码;这仍然有效吗?现在不行了,因为您是按值复制的。只有表通过引用被复制。看,这就是我所说的;我希望能够做到这一点,除非您将实现更改为使用表,否则这是不可能的。