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
廣告

© . All rights reserved.