填写Lua表没有按预期进行

时间:2016-08-20 17:33:10

标签: lua lua-table

我在Lua编写了一些内容,我在代码中遇到了一个非常令人沮丧的错误/错误。

network = {}
network.neurons = {}

for i=1,4 do
    network.neurons[20000] = {}
    network.neurons[20000][i] = NewNeuron()
    print(network.neurons[20000][i])
end

NewNeuron()函数创建一个带有一些变量的新对象。此for循环中的print()返回具有正确变量的表。当我尝试在此循环中再次使用此打印时出现问题:

for i=1,4 do
    print(network.neurons[20000][i])
end

然后打印出4个控制台行,如下所示:

(no return)
(no return)
(no return)
*neuron info that should be printed*

在退出创建循环后,看起来好像只有4个对象中的最后一个存在。为什么是这样?我做错了什么?

1 个答案:

答案 0 :(得分:0)

在创建NewNeuron时,您正在循环内分配一个全新的表。声明应该在外面:

network = {}
network.neurons = {}
network.neurons[20000] = {}

for i=1,4 do
    network.neurons[20000][i] = NewNeuron()
    print(network.neurons[20000][i])
end