나는 루아로 조금 놀고 있습니다.루아 증분
나는 예기치 않은 동작이 다음과 같은 코드를 건너 왔어요 :
a = 3;
b = 5;
c = a-- * b++; // some computation
print(a, b, c);
루아가 오류없이 프로그램을 실행하지만, 예상대로 2 6 15
을 인쇄하지 않습니다. 왜 ?
나는 루아로 조금 놀고 있습니다.루아 증분
나는 예기치 않은 동작이 다음과 같은 코드를 건너 왔어요 :
a = 3;
b = 5;
c = a-- * b++; // some computation
print(a, b, c);
루아가 오류없이 프로그램을 실행하지만, 예상대로 2 6 15
을 인쇄하지 않습니다. 왜 ?
--
starts a single line comment, 다른 언어로 #
또는 //
과 같습니다. = 3 라인은 C로 평가되기 때문이
3 ~ 5 세
을 줄 것이다
a = 3;
b = 5;
c = a
LUA는 ++
및 --
으로 증가 및 감소하지 않습니다. --
은 대신 주석을 시작합니다.
사실, 그러나 이것은 프로그램이 컴파일되고 실행되는 이유를 설명하지 않습니다. – prapin
LUA가 줄 끝에서 누락 된 세미콜론을 신경 쓰지 않으므로 컴파일되고 실행됩니다. 그것은 단지 3 5 3을 프린트 할 것입니다. – annih
@annih이 코드가 왜이 컴파일에서 컴파일되는지 이해할 수 있습니다 - 코멘트를 시작하므로 코드는 매우 중요합니다 :'a = 3; b = 5; c = a;'주의하십시오; 내가 한 것처럼 한 줄에 모두 쓰면 내 머리 꼭대기에 필요하다. – engineercoding
이유 :
그래서 그것은 동등입니까? 왜냐하면 루아에서는 주석이 -로 시작하기 때문입니다. 따라서 c = a-- * b ++; // 일부 계산
은 두 부분으로 평가됩니다.
당신이 출력으로 2 6 15
을 원하는 경우에,이 코드를 시도 :
a = 3
b = 5
c = a * b
a = a - 1
b = b + 1
print(a, b, c)
당신이 그것을 어떻게 실행합니까를? 루아 5.1.4를 사용하여'3 5 3'을 예상대로 (as - comment를 시작) 얻는다. –