Lua'end'预计将关闭'if'

时间:2013-03-14 23:25:41

标签: if-statement lua

我在这里的代码是lua

function onMouseDown(event)
    print(event.x, event.y)
    if event.x>160 then
        print("what")
        return 1
        print("whatwhat") 
    else 
        return 0
        print("WhatWhatWhat")
    end


    fruit:setX(event.x)
    fruit:setY(event.y)
end

但是正在呻吟the main.lua:59:'结束'预期(关闭'如果'在第56行)靠近'print'所以它期待在我的结尾处结束如果低于打印(“whatwhat” )。 但是我在那里结束了,如果我这样做,它仍然会嘲笑我。

我对lua很新,我有点困惑,我通常用c#编程

2 个答案:

答案 0 :(得分:8)

请参阅Lua手册§3.3.4

  

return 语句只能写为块的最后一个语句。如果确实需要在块的中间返回,则可以使用显式内部块,如习语do return end,因为现在返回是(内部)块中的最后一个语句。

您的代码在print语句后调用return,因此无效。

答案 1 :(得分:0)

我怀疑你的问题是返回后的打印。这是死代码; Lua希望在一个区块结束时返回。