无法更改“全局”lua表的值

时间:2011-07-05 00:49:31

标签: lua lua-table

我有一个.lua脚本文件,我遇到了类似的问题:

myTable = {}

function changeMyTable(index,value){
    myTable[index] = value
    --When I output the size of #myTable now I receive 1 as result...
}

function checkMyTableSize(){
    --when i output #myTable here. I receive 0 as result
}

任何人都知道如何在全局'myTable'表上创建索引?

我也尝试过使用table.insert(myTable,index,value)。

1 个答案:

答案 0 :(得分:1)

  

- 当我输出#myTable的大小时,我收到1作为结果......

如果index值正好为1,那么会发生。否则它不会。 #运算符仅计算表中值为数组值的值,并计入第一个NIL。所以它检查表[1],然后是表[2],然后......直到达到NIL。它会返回。

请注意,这是对其背后概念的解释。实现可能不会像那样循环。

在任何情况下,您的不一致可能是由于多次运行脚本而不是多次调用全局函数。