如何在这段代码中找到缺失的括号?

当我运行代码时,它告诉我有一个错误,即')' expected near '='

function restartLvl()
    for i = 1, #balloonTexts do
        display.remove(balloonTexts[i])
        print ("restart level")
    end

    score.text = '0'
    ballRemain.text = '3'
    balloonText = {}
    createBalloons(1, 3)

    if (askUser.isVisible = true) then  -- 这是发生错误的行
        askUser.isVisible = false
    end

    if (yesBtn.isVisible = true) then
        yesBtn.isVisible = false
    end

    if (noBtn.isVisible = true) then
        noBtn.isVisible = false
    end
end

我不知道为什么它仍然缺少一个")",因为我已经封闭了所有的括号。

点赞
用户1009479
用户1009479
`=`是赋值运算符,`==`是测试相等性的运算符。将其更改为:

if (askUser.isVisible == true) then askUser.isVisible = false end


以及所有其他情况。为了简单起见,括号`()`可以省略:

if askUser.isVisible == true then askUser.isVisible = false end


如果值是布尔值,也可以这样做,因为所有不是`nil`或`false`的值都被视为真。

if askUser.isVisible then askUser.isVisible = false end


2014-03-11 08:13:11
用户3131449
用户3131449

这并不与你的答案相关,但我建议你使用 Lua Glider IDE,因为使用这个 IDE 可以很好地检测到此类型错误。

2014-03-14 08:06:05