我在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个对象中的最后一个存在。为什么是这样?我做错了什么?
答案 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