为什么这段代码不起作用?

时间:2014-08-26 08:07:12

标签: lua lua-table

local data={}


eventNewPlayer=function(n)
    data[n]={tab="none"}
end

function eventChatCommand(n,c)
    if c == "foo" then

        data[n].tab = c

        if data[n].tab == c then

            ui.removeTextArea(90,n)
        else

            ui.addTextArea(90,"f"..string.rep("o",35),n,400,200,nil,nil)
        end
    end
end

table.foreach(tfm.get.room.playerList,eventNewPlayer)

这是一个逻辑错误,textarea没有出现,我也没有看到上述代码中的任何错误

1 个答案:

答案 0 :(得分:0)

执行data[n].tab = c时,您要将c的值分配给data[n].tab。每次c == "foo"时都会发生这种情况。

因此,执行此操作时:

    if data[n].tab == c then

        ui.removeTextArea(90,n)
    else

        ui.addTextArea(90,"f"..string.rep("o",35),n,400,200,nil,nil)
    end

总是执行第一部分,而不是第二部分。