Lolcode - 语句和流程控制
LOLCODE 允许您通过各种语句来控制程序的流程。本章解释了 LOLCODE 中可用的不同类型的语句。
表达式语句
没有任何赋值的表达式,即简单地调用数学运算或任何函数,在LOLCODE 中是合法的语句。一旦表达式被求值,它的最终值就会被放入临时变量 IT 中。IT 的值保留在本地范围内,并且一直存在,直到下次用表达式替换它为止。
赋值语句
赋值语句用于将任何表达式的输出分配给给定变量。它们的形式通常是 -
<any_variable> <assignment operator> <any expression>
请注意,您可以在表达式中使用变量,甚至在分配变量之前也是如此。
条件语句
如果-那么语句
if−then 语句是对 IT 变量进行的非常简单的操作。它类似于 C 和 Java 等其他编程语言中的 if−else 语句。
有四个关键字可应用 if-then 语句。
- 哦,RLY?
- 雅丽
- 没有围
- 伊斯兰会议组织
一般形式是 -
<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 后面的 <任意表达式> 为 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?” 与许多其他语言中的 switch 类似。关键字 WTF?以IT作为表达值进行比较。要使用 WTF,OMG 将打开一个比较块,该比较块应该是文字,而不是表达式。
请记住,每个文字必须是唯一的,与其他语言中的情况类似。
OMG 块必须由 GTFO 语句终止。如果 OMG 块没有被 GTFO 终止,则执行下一个 OMG 块,直到到达 GTFO。
如果没有任何文字评估为 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