2017-01-01 4 views
1

루아에서 elseif 블록에 대해 약간 혼란 스럽습니다. official Lua tutorial thing에서 전체 if 블록에 대해 단 하나의 끝만 필요하다는 것을 보여줍니다. 그러나, 내 코드에서, 내가 if에서 가지고있는 모든 else에 대해 close를 추가하지 않으면 오류가 발생합니다. 그 문제는 전혀 관련이있을 수 있지만다른 모든 블록을 종료해야합니까?

if direction == 1 then 
    snakeHead.y = snakeHead.y - 2 
    else if direction == 2 then 
    snakeHead.x = snakeHead.x + 2 
    else if direction == 3 then 
    snakeHead.y = snakeHead.y - 2 
    else if direction == 4 then 
    snakeHead.x = snakeHead.x - 2 
    end 
    end 
    end 
    end 

또한,이 코드는 Love2D에 : 여기에 모든 끝이 내 코드입니다.

+2

'else if'를 'elseif'로 변경해보십시오. 두 키워드 사이의 공간을 잃어 버린다. – dave

+1

'elseif '를 사용하지 않고'else' 블록을 중첩 된 if 문으로 만들고 있습니다. – warspyking

답변

2

자습서를주의 깊게 읽어 보면 elseif이 아닌 else if이 필요하다는 것을 알 수 있습니다. 즉, 두 가지가 아니라 하나의 키워드입니다.

+0

예. 그래서 자바 본능적으로 거기에 공간을 넣어하는 데 사용됩니다. 그래도 도움을 주셔서 감사합니다. – moxide

+0

전혀 문제 없습니다. 공통된 문제입니다. 'else if' (C, Java 등),'elseif' (PHP, lua), elsif (Perl, Ruby), elif (bash) 등이 있습니다. – dave