Lolcode - 变量

与任何其他编程语言一样,LOLCODE允许您定义各种类型的变量.本章将使您熟悉在LOLCODE中使用变量.

变量范围

变量的范围是函数的本地范围或者是程序块,即在一个范围中定义的变量不能在同一程序的任何其他范围内调用.变量只有在声明后才能访问.

请注意LOLCODE中没有全局变量范围.

命名约定

变量名称通常称为标识符.以下是在LOLCODE和减号中命名变量的一些约定;

  • 变量标识符可以是所有大写字母或小写字母(或者是两者的混合物.)

  • 它们只能以字母开头,然后可以跟着其他字母,数字和下划线.

  • LOLCODE在命名变量时不允许使用空格,短划线或其他符号.

  • 变量标识符区分大小写.

以下是LOLCODE : 中变量的有效和无效名称的一些规则;

  • 名称应始终以字母开头.例如, name,Name 有效.

  • 变量的名称不能以数字开头.例如, 2var 无效.

  • 变量的名称不能以特殊字符开头.

  • 变量可以在其名称内的任何位置包含_或数字,但起始索引除外.例如, name2_m 是有效名称.

LOLCODE中有效名称的一些示例如下所示;

HAI 1.2
I HAS A food ITZ "111.00033"
I HAS A food2 ITZ "111"
I HAS A fo_od ITZ "1"
VISIBLE food
VISIBLE food2
VISIBLE fo_od
KTHXBYE

上述代码中的所有声明语句都有效,并且在执行和减去时将产生以下输出;

 
 sh-4.3 $ lci main.lo 
 111.00033 
 111 
 1

无效语句及其输出的一些示例给出低于 :

示例1

 HAI 1.2
I HAS A 2food ITZ "111.00033"
KTHXBYE

以上执行它时,代码将给出以下输出 :

sh-
4.3$ lci main.lo
Line 2: Expected: identifier; Got: int(2).

示例2

HAI 1.2
I HAS A _food ITZ "111.00033"
KTHXBYE

上述代码执行时会给出以下输出 :

sh-
4.3$ lci main.lo
Line 2: Unrecognized sequence at: _food ITZ "111.00033".

示例3

HAI 1.2
I HAS A f$ood ITZ "111.00033"
KTHXBYE

上述代码执行时会给出以下输出 :

sh-
4.3$ lci main.lo
Line 2: Unrecognized sequence at: $ood ITZ "111.00033".

变量的声明和赋值

声明变量,LOLCODE提供了一个关键字"我有一个",后面跟着变量名.您可以在下面找到声明变量的语法.

 
我现在有一个VAR BTW VAR是空的,您可以使用任何名称而不是var

要在同一语句中赋值变量值,您可以使用"ITZ"跟随变量名称,然后给出要分配的值.使用以下语法将值赋给变量 :

<variable> R <expression>

示例

VAR R "Green"         BTW VAR is now a YARN and equals "Green"
VAR R 30              BTW VAR is now a NUMBR and equals 30

您还可以声明使用以下语法同时分配变量 :

I HAS A VAR ITZ VALUE

示例

I HAS A NAME ITS "TUTORIALS POINT"

示例

HAI 1.2
BTW this is how we declare variables
I HAS A food
I HAS A bird

BTW this is how we assign variables
food R 1
bird R 5

BTW this is how initialize variables
I HAS A biz ITZ "OMG!"
VISIBLE food
VISIBLE biz
VISIBLE bird
KTHXBYE

上述程序显示变量的声明和打印它们.输出为 :

 
 sh- 
 4.3 $ lci main.lo 
 1 
 OMG! 
 5

类型转换

要将一种类型的值转换为另一种类型,我们使用类型铸件.将NUMBAR转换为NUMBR会截断浮点数的小数部分.将NUMBAR转换为YARN(例如,通过打印它),将输出截断为默认的2位小数.

示例

HAI 1.2
I HAS A food ITZ "111.00033"
VISIBLE food

BTW this is how we do type casting
MAEK food A NUMBAR
VISIBLE food
KTHXBYE

以上代码行将产生以下输出 :

sh-4.3$ lci main.lo
111.00033
111.00033

在LOLCODE程序中声明的所有变量都是局部变量,并且对于任何变量,此语言都没有全局范围.