lua5.1 循环错误,应该使用“end”来关闭“while”。

无论我将 "end" 放在哪里,它仍然给我这个错误,

lua: ch.lua:157: 'end' expected (to close 'while' at line 138) near '<eof>'>Exit code: 1

这里是代码,

function ch_handler()
stopped = false
while not err or stopped do
    res, err = self.sock.sock_connection:receive()
    if not (res == nil) then
        self.getEvent({res})
    else
        error('CONNECTION DEAD: ' .. err, 2) -- return an error message
        self.sock[room.name]:close() -- should close the dead connection
        event.onDisconnect(room.name)
        stopped = true
        break
    end

你能告诉我或展示我我做错了什么吗?

点赞
用户3450991
用户3450991

你发布的代码只有一个 end。这个 end 是用来关闭 if 块的,但是没有用来关闭 whilefunction 块。

你需要再加两个 end

function ch_handler()
    stopped = false
    while not err or stopped do
        res, err = self.sock.sock_connection:receive()
        if not (res == nil) then
            self.getEvent({res})
        else
            error('CONNECTION DEAD: ' .. err, 2) -- return an error message
            self.sock[room.name]:close() -- should close the dead connection
            event.onDisconnect(room.name)
            stopped = true
            break
        end
    end
end

这应该会修复它。

2014-03-22 23:11:58