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 提供了一个关键字“I HAS A”,后跟变量名。您可以在下面找到声明变量的语法。

I HAS A VAR BTW VAR is empty now, You can use any name instead of 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(例如通过打印它),会将输出截断为默认的两位小数。

示例

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 程序中声明的所有变量都是局部变量,并且此语言中没有任何变量的全局作用域。

广告
© . All rights reserved.