您的位置:首页 > 游戏 > 游戏 > Lua语言基础学习:Lua中的关键字、操作符、变量

Lua语言基础学习:Lua中的关键字、操作符、变量

2024/12/23 11:42:32 来源:https://blog.csdn.net/m0_73500130/article/details/141096552  浏览:    关键词:Lua语言基础学习:Lua中的关键字、操作符、变量

Lua关键字

关键字(Keyword)是被赋予特殊含义的标识符,它们用于表示一种数据类型、程序结构、控制流程等。在编程语言中,关键字不能用作变量名、函数名、类名等标识符,以避免与语言本身的语法或内置功能发生冲突。关键字通常全部小写,以确保其在代码中的唯一性和易识别性。以下为lua语言的保留关键字表格:

关键字使用方法
and用于逻辑与操作:if a > 0 and b > 0 then
break退出循环:break
do块的开始:do ... end
else条件语句的否分支:if a > 0 then ... else ...
elseif条件语句的多重分支:if a > 0 then ... elseif b > 0 then ...
end控制结构的结束:if a > 0 then ... end
false布尔值假:local flag = false
for数值型循环:for i = 1, 10 do ... end
function定义函数:function foo() ... end
goto跳转到标签:goto label
if条件语句:if a > 0 then ... end
in用于循环遍历:for i in ipairs(array) do ...
local定义局部变量:local x = 10
nil无值:local x = nil
not逻辑非操作:if not condition then ...
or用于逻辑或操作:if a > 0 or b > 0 then
repeat重复循环直到条件为真:repeat ... until condition
return从函数返回:return value
then条件语句的一部分:if condition then ...
true布尔值真:local flag = true
until重复循环直到条件为真:repeat ... until condition
while条件循环:while condition do ... end

 操作符

 操作符(Operator)是编程语言中用于执行特定操作(如算术运算、逻辑运算、赋值等)的符号。它们作用于一个或多个操作数(Operand),产生新的值或结果。操作符在编程语言中起着至关重要的作用,它们定义了程序的基本运算规则和逻辑结构。Lua作为一种轻量级的脚本语言,支持多种类型的操作符,以满足不同的编程需求。

类别操作符说明使用方法
算术操作符+加法操作符,用于两个数的加法运算a + b
算术操作符-减法操作符,用于两个数的减法运算;一元操作符,表示数的负值a - b 或 -a
算术操作符*乘法操作符,用于两个数的乘法运算a * b
算术操作符/除法操作符,用于两个数的除法运算;结果总是浮点数a / b
算术操作符%取模操作符,返回两个数相除的余数a % b
算术操作符^指数操作符,用于计算第一个操作数的第二个操作数次幂a ^ b
关系操作符<小于操作符,比较两个值的大小a < b
关系操作符>大于操作符,比较两个值的大小a > b
关系操作符<=小于等于操作符,比较两个值的大小a <= b
关系操作符>=大于等于操作符,比较两个值的大小a >= b
关系操作符==等于操作符,用于判断两个值是否相等a == b
关系操作符~=不等于操作符,用于判断两个值是否不相等a ~= b
逻辑操作符and逻辑与操作符,如果两个操作数都为真,则结果为真;否则为假;采用短路求值a and b
逻辑操作符or逻辑或操作符,如果两个操作数中至少有一个为真,则结果为真;否则为假;采用短路求值a or b
逻辑操作符not逻辑非操作符,用于取反操作数的布尔值not a
赋值操作符=基本的赋值操作符,用于将右侧表达式的值赋给左侧的变量a = b
赋值操作符+=-=复合赋值操作符,结合了赋值和算术运算a += b(相当于a = a + b)、a -= b
字符串连接..用于连接两个字符串,如果其中一个操作数是数字,Lua会将其转换为字符串后再进行连接str1 .. str2
其他操作符#长度操作符,用于获取字符串或表的长度#str#table

 

 变量

  变量用于存储数据,在Lua中主要有三种变量:全局变量、局部变量和表字段变量。变量名可代表全局或局部变量,未声明的则默认为全局。

  局部变量在其作用域内有效,全局变量则在整个程序中有效,变量未赋值前,其值为nil。使用方括号可以访问表中的数据,访问全局变量可通过_ENV表进行,但_ENV本身非全局。

  Lua中的表字段变量(也称为表域)是表(table)这种数据结构中的一个重要组成部分。Lua中的表是一种非常灵活的数据结构,可以看作是一个数组、字典(或哈希表)、集合、记录或是这些结构的任意组合。表字段变量就是表中存储的具体数据项,每个数据项通过唯一的键(key)来访问,这个键可以是数字(作为数组索引)或字符串(作为哈希表的键)。

-- 全局变量  
GlobalVar = 200  -- 局部变量
local localVar = 100 -- 表字段变量  
local myTable = {  name = "Lua", -- 使用字符串作为键,这是一个表字段变量  age = 10,        -- 另一个表字段变量  [1] = "元素1",   -- 使用数字作为键,这也是表字段变量的一种形式  ["key"] = "值"   -- 使用字符串作为键的另一种写法  
}  print(GlobalVar) 
-- print(localVar)  因为localVar是局部变量,这行代码无法正常运行 -- 访问表字段变量  
print(myTable.name)
print(myTable["age"])
print(myTable[1])
print(myTable.key)-- 修改表字段变量的值  
myTable.name = "修改后的表名"  
print(myTable.name)-- 添加新的表字段变量  
myTable.newField = "新字段的值"  
print(myTable.newField)-- 访问全局变量通过_ENV 
print(_ENV.GlobalVar)-- 尝试访问未声明的变量(值为nil)  
local undeclaredVar = nilVar 
print(undeclaredVar) 

代码运行结果如下: 

cdecc007911a44a0946465c61445b261.png

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com