29

知道为什么这在 Lua 中是错误的吗?

       if Pieza == 1 then
            if Rotacion == 1 then
                Piezas = Cuadrado1
            else if Rotacion == 2 then
                Piezas = Cuadrado2
            else if Rotacion == 3 then --this is Line 273
                Piezas = Cuadrado3
            else if Rotacion == 4 then
                Piezas = Cuadrado4
            else
                io.write("Me Envio una rotacion que no existe? \n");
            end 
--this end closes the if inside the first if the one using to compare Rotacion
        else if Pieza == 2 then
            if Rotacion == 1 then
                Piezas = I1
            else if Rotacion == 2 then
                Piezas = I2
            else if Rotacion == 3 then
                Piezas = I3
            else if Rotacion == 4 then
                Piezas = I4
            else
                io.write("Me Envio una rotacion que no existe? \n");
            end
--this end closes the if inside the first if the one using to compare Rotacion
        else  --this else is in case Pieza != 1 || 2
            io.write("Me Envio una pieza que no existe? \n");
        end --this close the whole if (the one comparing "Pieza")

我得到的错误是“else”附近的预期“结束”(在第 273 行关闭“if”)

此外,在每个 if 之后添加 end (这不是应该做的,但无论如何都尝试过)不起作用......

如果你需要我翻译成英文,我很乐意做评论和一切,但我认为这个问题没有必要。

4

1 回答 1

55

elseif,不是else if(注意空格)。错误是因为解释器期望end每个else块都有一个。

有关详细信息,请参阅手册

于 2012-05-02T06:32:36.507 回答