当前位置: 首页 > 文档资料 > LOLCODE 中文教程 >

声明和流量控制( 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