无涯教程-Lua - 变量声明

变量的名称可以由字母,数字和下划线字符组成。它必须以字母或下划线开头,由于Lua区分大小写,因此大写和小写字母是不同的。

在Lua中,尽管无涯教程没有变量数据类型,但是根据变量的范围有三种类型。

  • 全局变量(Global)     - 除非明确声明为局部变量,否则所有变量均视为全局变量。

  • 局部变量(Local)       - 当将类型指定为变量的局部变量时,其范围受函数限制。

  • Table字段                  - 这是一种特殊类型的变量,可以容纳除nil以外的任何变量,包括函数。

Lua 变量定义

变量定义意味着告诉解释器在哪里以及为变量创建多少存储空间,变量定义具有可选类型,并包含一个或多个该类型变量的列表,如下所示:

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 --]]

Lua 变量声明

如您在上面的示例中看到的,多个变量的分配遵循variable_list和value_list格式。在上面的示例 local d,f=5,10 中,无涯教程在variable_list中具有d和f,在值列表中具有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 - 变量声明 - 无涯教程网无涯教程网提供变量的名称可以由字母,数字和下划线字符组成。它必须以字母或下划线开头,由于Lua区...https://www.learnfk.com/lua/lua-variables.html

你可能感兴趣的:(无涯教程,lua)