您的位置 首页 教程

Lua 基本语法

Lua 基本语法具有简洁、灵活等特点。变量命名规则与其他语言类似,支持全局变量和局部变量。语句以分号结尾,函数定义以 function 关键字开头,支持匿名函数。条件控制语句包括 if、else、elseif,循环语句包括 while、repeat、for,支持 break、continue、return 关键字。字符串使用单引号或双引号包围,支持转义字符。表是一种动态、嵌套的数据结构,支持索引、遍历、添加、删除等操作。

Lua 基本语法

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的基础语法,包括注释、变量、数据类型、函数、控制结构、字符串操作和表操作。

关于作者: 品牌百科

热门文章