声明和流量控制( Statements & Flow Control)
优质
小牛编辑
193浏览
2023-12-01
LOLCODE允许您通过各种语句控制程序流。 本章介绍LOLCODE中可用的不同类型的语句。
表达陈述
没有任何赋值的表达式,即简单地调用数学运算或任何函数,是LOLCODE中的一个合法声明。 评估表达式后,将其最终值放在临时变量IT中。 IT的值保留在本地范围内,并且在下次用表达式替换之前一直存在。
作业声明
赋值语句用于将任何表达式的输出分配给给定变量。 它们通常是以下形式 -
<any_variable> <assignment operator> <any expression>
请注意,即使在分配变量之前,您也可以在表达式中使用变量。
条件陈述
If-Then Statements
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之后的为True(WIN),则执行该块。 否则,如果该表达式为false,则跳过该块直到下一个MEBBE,NO WAI或OIC语句。
例子 (Example)
<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
例子 (Example)
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?' 类似于许多其他语言中的开关。 关键字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