Lolcode - 語句和流程控制
LOLCODE 允許您透過各種語句控制程式的流程。本章解釋了 LOLCODE 中可用的不同型別的語句。
表示式語句
在 LOLCODE 中,沒有賦值的表示式(即,簡單地呼叫數學運算或任何函式)是合法的語句。表示式計算完成後,其最終值將放置在臨時變數 IT 中。IT 的值保留在區域性作用域中,並且存在直到下次被表示式替換。
賦值語句
賦值語句用於將任何表示式的輸出賦值給給定的變數。它們通常具有以下形式:
<any_variable> <assignment operator> <any expression>
請注意,您可以在表示式中使用變數,即使在它被賦值之前。
條件語句
If-Then 語句
if-then 語句是一個非常簡單的操作,它作用於 IT 變數。它類似於 C 和 Java 等其他程式語言中的 if-else 語句。
有四個關鍵字用於應用 if-then 語句。
- O RLY?
- YA RLY
- NO 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 <任何表示式>。
如果 MEBBE 後面的 <任何表示式> 為真 (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
Case 語句
在 LOLCODE 中,關鍵字“WTF?”類似於許多其他語言中的 switch。關鍵字 WTF?將 IT 作為比較的表示式值。要使用 WTF,比較程式碼塊由 OMG 開啟,它應該是一個字面量,而不是表示式。
請記住,每個字面量必須是唯一的,類似於其他語言中的情況。
OMG 程式碼塊必須以 GTFO 語句終止。如果 OMG 程式碼塊沒有以 GTFO 終止,則執行下一個 OMG 程式碼塊,直到到達 GTFO。
如果沒有任何字面量計算為真,則預設情況由 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
廣告