Lolcode-statements-and-flow-control
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
- ノーワイ
- 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
上記のコードの出力結果は-
"E":
EFGH