函数无法工作。

我有这个函数:

wins = {}
players={}
function Wins(name)
        for i,wins in ipairs(wins) do
                if name==wins then
                        return true
                end
        end
        return false
end

function eventNewGame()
for name in pairs(tfm.get.room.playerList) do
counter[name] = 0
counterTotal[name] = counterTotal[name]
table.insert(wins, name)
end
    if Wins(name) then
            players[name]={wins=0}
print('okay')
    end

然而,它不起作用。(它不打印'okay',也不设置players[name]={wins=0})我做错了什么?

提前致谢!

点赞
用户107090
用户107090

如果没有一个全局变量 name,则在下面一行中 name 为 nil:

if Wins(name) then
2014-02-03 10:44:37
用户3272653
用户3272653

似乎你在你所展示的代码中没有结束或调用你的函数。

你没有在函数 eventNewGame() 中结束你的 for 循环,而且你从未声明过 name,导致它的值为空。另一个问题可能是在

if name==wins then

你正在比较一个表格的值而不是来自表格的值。所以首先你需要声明 name,然后明确它正在与之进行比较的内容,例如

if name == wins.var then

if name == wins[1] then

if name == wins[var] then

希望这有意义并且有所帮助。

2014-02-04 21:03:03