Lolcode-문 및 흐름 제어
LOLCODE를 사용하면 다양한 명령문을 통해 프로그램의 흐름을 제어 할 수 있습니다. 이 장에서는 LOLCODE에서 사용할 수있는 다양한 유형의 문에 대해 설명합니다.
식 문
할당이없는 표현식, 즉 단순히 수학적 연산이나 함수를 호출하는 것은 LOLCODE의 법적 진술입니다. 표현식이 평가되면 최종 값이 임시 변수 IT에 배치됩니다. IT의 가치는 로컬 범위에 남아 있으며 다음에 표현식으로 대체 될 때까지 존재합니다.
할당 명세서
할당 문은 모든 표현식의 출력을 주어진 변수에 할당하는 데 사용됩니다. 그들은 일반적으로 형태입니다-
<any_variable> <assignment operator> <any expression>
할당되기 전에도 표현식에서 변수를 사용할 수 있습니다.
조건문
If-Then 문
if-then 문은 IT 변수에 대해 작업하는 매우 간단한 작업입니다. C 및 Java와 같은 다른 프로그래밍 언어의 if-else 문과 유사합니다.
if-then 문을 적용하기위한 4 개의 키워드가 있습니다.
- O RLY?
- YA RLY
- WAI 없음
- OIC
일반적인 형태는-
<any_expression>
O RLY?
YA RLY
<code to execute if above condition is true>
NO WAI
<code to execute in this block>
OIC
위의 모든 문장은 다음과 같이 쉼표로 구분하여 같은 줄에 작성할 수 있습니다.
BOTH SAEM NAMES AN "Name", O RLY?
YA RLY, VISIBLE "My name is ABCD"
NO WAI, VISIBLE "Your name is ABCD"
OIC
if-then 문을 사용하는 동안 YA RLY 및 NO WAI 블록 사이에 선택적 MEBBE <any expression>을 사용할 수 있습니다.
MEBBE 다음의 <any expression>이 True (WIN)이면 해당 블록이 실행됩니다. 그렇지 않고 해당 표현식이 거짓이면 다음 MEBBE, NO WAI 또는 OIC 문까지 블록을 건너 뜁니다.
예
<any expression>
O RLY?
YA RLY
<code to be executed if true>
MEBBE <expression>
<code to be executed mebbe is true>
MEBBE <expression>
<code to be executed mebbe is true>
NO WAI
<code to be executed if above are false>
OIC
예
BOTH SAEM NAMES AN "NAME"
O RLY?
YA RLY, VISIBLE "YOUR NAME IS ABCD"
MEBBE BOTH SAEM ANIMAL AN "OUR NAME IS ABCD"
VISIBLE "NO ABCD"
OIC
사례 진술
LOLCODE에서 키워드 'WTF?' 다른 많은 언어로 전환하는 것과 유사합니다. 키워드 WTF? 비교를위한 표현식 값으로 IT를 사용합니다. WTF를 사용하려면 표현식이 아닌 리터럴이어야하는 비교 블록이 OMG에 의해 열립니다.
각 리터럴은 다른 언어의 경우와 유사하게 고유해야합니다.
OMG 블록은 GTFO 문으로 종료되어야합니다. OMG 블록이 GTFO에 의해 종료되지 않으면 GTFO에 도달 할 때까지 다음 OMG 블록이 실행됩니다.
true로 평가되는 리터럴이 없으면 기본 케이스는 OMGWTF에 의해 표시됩니다.
WTF?
OMG <any value to compare>
<code block to execute if expression is satisfied>
OMG <any value to compare>
<code block to execute if expression is satisfied>
OMGWTF
<code block to execute as a default case>
OIC
NAME, WTF?
OMG "A"
VISIBLE "ABCD"
GTFO
OMG "E"
VISIBLE "EFGH"
GTFO
OMGWTF
VISIBLE "ZYXW"
OIC
위 코드의 출력 결과는 다음과 같습니다.
"이자형":
EFGH