Lua 基本语法具有简洁、灵活等特点。变量命名规则与其他语言类似,支持全局变量和局部变量。语句以分号结尾,函数定义以 function 关键字开头,支持匿名函数。条件控制语句包括 if、else、elseif,循环语句包括 while、repeat、for,支持 break、continue、return 关键字。字符串使用单引号或双引号包围,支持转义字符。表是一种动态、嵌套的数据结构,支持索引、遍历、添加、删除等操作。
Lua基础语法
Lua是一种轻量级、高效、面向过程的脚本语言,非常适合嵌入其他应用程序中。本文将介绍Lua的基础语法。
注释
Lua通过”–“来进行单行注释,如:
--- 这是一行注释
也可以用”–“作为行末注释:
print("hello") -- 这是一句打印语句
还可以用–[[和–]]括起来进行多行注释:
--[[ 这是一段 多行注释 --]]
变量
Lua的变量名可以是任何由字母、数字和下划线构成的字符串,但不能以数字开头。变量可以在使用之前不需要预先声明。
变量的赋值使用”=”号:
a = 1 b = "hello"
多个变量的赋值可以使用逗号隔开:
a, b = 1, 2
可以通过函数”print”来打印变量中的值:
print(a) print(b)
数据类型
Lua有8种基本数据类型:nil、boolean、number、string、function、userdata、thread、table。
其中,nil表示不存在的值,boolean表示true或false,number表示数字,可以是整数或浮点数,string表示字符串,用单引号或双引号括起来,function表示函数,可以由Lua编写或C编写的Lua接口函数,userdata表示任意由C/C++编写的数据,thread表示线程,table表示数组或关联数组。
函数
Lua使用function来定义函数,函数可以有多个参数和返回值。
function add(a, b) return a + b end
调用函数时,可以使用函数名和参数列表:
print(add(1, 2))
Lua的函数还可以存储在变量中,如:
add = function(a, b) return a + b end
也可以使用匿名函数:
print((function(a, b) return a + b end)(1, 2))
控制结构
Lua具有if-then、while、repeat-until、for和switch等控制结构。
if-then结构:
if x > 0 then print("x > 0") elseif x == 0 then print("x = 0") else print("x < 0") end
while结构:
while i < 10 do i = i + 1 end
repeat-until结构:
repeat i = i - 1 until i == 0
for结构:
for i = 1, 10 do print(i) end
switch结构可以通过if-then语句实现。
字符串操作
Lua提供了丰富的字符串操作函数,如字符串拼接、截取、查找和替换。
字符串拼接操作可以使用..操作符:
a = "hello" b = "world" print(a .. b)
字符串截取可以使用string.sub函数:
s = "hello world" print(string.sub(s, 1, 5)) -- 输出"hello" print(string.sub(s, -5)) -- 输出"world"
字符串查找可以使用string.find函数:
s = "hello world" print(string.find(s, "world")) -- 输出9
字符串替换可以使用string.gsub函数:
s = "hello world" print(string.gsub(s, "world", "Lua")) -- 输出"hello Lua"
表操作
表是Lua中唯一的复合数据类型,可以用来表示数组或关联数组。
声明一个表:
a = {}
数组:
a = {"apple", "banana", "orange"} print(a[1]) -- 输出"apple"
关联数组:
a = {name="John", age=25, gender="male"} print(a.name) -- 输出"John"
表的增删改查操作:
a = {name="John", age=25, gender="male"} a.address = "Beijing" a["phone"] = "123456" a.name = "Mary" print(a.name, a.age, a.address, a.phone) -- 输出"Mary 25 Beijing 123456"
总结
本文介绍了Lua的基础语法,包括注释、变量、数据类型、函数、控制结构、字符串操作和表操作。