毁三观的变量定义

Posted gd-luojialin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了毁三观的变量定义相关的知识,希望对你有一定的参考价值。

变量定义变量定义告诉解释器为变量创建存储的位置和数量。 变量定义具有可选类型,并包含该类型的一个或多个变量的列表,如下所示 -
type variable_list;

这里,type是可选的本地或全局类型,而variable_list可以包含一个或多个由逗号分隔的标识符名称。 这里显示了一些有效的声明 -
local i, j
local i
local a,c

行local i,j都声明并定义变量i和j; 它指示解释器创建名为i,j的变量,并将范围限制为局部。
变量可以在声明中初始化(分配初始值)。 初始化程序包含一个等号,后跟一个常量表达式,如下所示 -
type variable_list = value_list;

同样的一些示例如下 -
local d , f = 5 ,10 --declaration of d and f as local variables.
d , f = 5, 10; --declaration of d and f as global variables.
d, f = 10 --[[declaration of d and f as global variables.
Here value of f is nil --]]

对于没有初始化程序的定义:具有静态存储持续时间的变量使用nil隐式初始化。
Lua变量声明正如在上面的示例中所看到的,多个变量的赋值遵循variable_list和value_list格式。 在上面的例子中,local d , f = 5 ,10在variable_list中
就是d和f,在value_list中就是5和10。
Lua中的值赋值类似于variable_list中的第一个变量,value_list中的第一个值,依此类推。 因此,d的值为5,f的值为10。
示例
看看以下示例,其中变量已在顶部声明,但它们已在主函数内定义和初始化 -
-- Variable definition:
local a, b

-- Initialization
a = 10
b = 30

print("value of a:", a)

print("value of b:", b)

-- Swapping of variables
b, a = a, b

print("value of a:", a)

print("value of b:", b)

f = 70.0/3.0
print("value of f", f)

构建并执行上述代码时,会产生以下结果 -
value of a: 10
value of b: 30
value of a: 30
value of b: 10
value of f 23.333333333333

左值和右值Lua中有两种表达方式 -

左值 - 引用内存位置的表达式称为“左值”表达式。 左值可以显示为赋值的左侧或右侧。右值 - 术语右值是指存储在内存中某个地址的数据值。 右值是一个不
能赋值的表达式,所以右值可能出现在右侧,但不会出现在赋值的左侧。
变量是左值,因此可能出现在赋值的左侧。 数字文字是右值,因此可能无法分配,也不能出现在左侧。 以下是有效的声明 -
g = 20

但是以下不是有效的语句,会产生构建时错误 -
10 = 20

在Lua编程语言中,除了上述类型的赋值之外,在同一个语句中可以有多个左值和右值。 如下所示。
g,l = 20,30

在上面的语句中,20分配给变量g,30分配给变量l。

 

以上是关于毁三观的变量定义的主要内容,如果未能解决你的问题,请参考以下文章

毁三观:从 onSavedInstanceState 中取值竟为空?!

STEAM毁三观的模拟器游戏,价格贵口碑差,评分却比魔兽3重制版高

栈内存和堆内存的区别

qml全局变量定义建议

C语言变量的定义和声明有啥不同?

解释啥是全局变量,如何定义