Подтвердить что ты не робот

If, else, else if и end Lua

Любая идея, почему это неправильно в 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")

Ошибка, которую я получаю, это ожидаемый "конец" (закрыть "if" в строке 273) рядом с "else"

Кроме того, добавление конца после каждого if (это не то, что должно быть сделано, но все равно) не работает...

Если мне нужно перевести на английский, я с удовольствием сделаю это комментарии и все, но я подумал, что это не обязательно для этого вопроса.

4b9b3361

Ответ 1

Это elseif, а не else if (обратите внимание на пробел). Ошибка заключается в том, что интерпретатор ожидает end для каждого блока else.

Подробнее см. руководство.