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语句时,可选的MEBBE<任何表达式>可以在YA RLY和NO WAI块之间使用.

如果< any expression>以下MEBBE为True(WIN),然后执行该块.否则,如果该表达式为false,则跳过该块直到下一个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?"类似于许多其他语言中的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