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」の近くで「end」が期待される(273行目で「if」を閉じる)ことです。

また、if(これは実行する必要はありませんが、とにかく試してみました)の後にendを追加しても機能しません...

英語に翻訳する必要がある場合は、解説やすべてを喜んで行いますが、この質問には必要ないと思いました。

4

1 に答える 1

55

そうでelseifはありませんelse if(スペースに注意してください)。エラーは、インタプリタendが各elseブロックにを期待しているためです。

詳細については、マニュアルを参照してください。

于 2012-05-02T06:32:36.507 に答える