不能改变"global" lua表的值。

我有一个.lua脚本文件,有一个类似于下面这样的问题:

myTable = {}

function changeMyTable(index,value){
    myTable[index] = value
    --当我输出#myTable的大小时,现在我会收到结果为1的结果......
}

function checkMyTableSize(){
    --当我在这里输出#myTable时,我得到的结果是0
}

有人知道如何在全局“myTable”表上创建索引吗?

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

原文链接 https://stackoverflow.com/questions/6577145

点赞
stackoverflow用户734069
stackoverflow用户734069

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

只有当 “index” 值恰好为 1 时,这种情况才会发生。否则不会。# 运算符仅计算数组值表中的值的数量,并计数到第一个 NIL。因此它检查表[1],然后表[2],然后...直到它到达 NIL。然后返回它。

请注意,这是一个解释它背后概念的说明。实现可能不会像那样循环。

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

2011-07-05 00:55:32