Lua 的基本语法
变量类型
Lua 支持多种基本数据类型,如下表所示:
类型 | 描述 | 示例 |
---|---|---|
nil | 表示无效或未初始化的值。当变量未被赋值时,其默认值为 nil 。 | nil |
boolean | 表示布尔值,只能是 true 或 false 。 | true , false |
number | 表示数值,包括整数和浮点数。 | 1 , -5 , 3.1415 |
string | 表示用单引号或双引号括起来的文本。 | "hello" , 'Lua' |
function | 表示函数,可以是内置函数或用户自定义函数。 | print , function add(a, b) return a + b end |
table | 表示表,是 Lua 的主要数据结构。表用花括号 {} 定义,默认使用从 1 开始的索引。 | {1, 2, 3} |
函数
函数定义
Lua 中定义函数的语法如下:
lua
function functionName(parameter)
-- 函数体
end
示例:一个执行加法的函数
lua
function add(a, b)
return a + b
end
函数调用
通过传递所需的参数可以调用函数:
lua
sum = add(3, 4) -- `sum` 的值为 7
多返回值
Lua 中的函数可以返回多个值:
lua
function add(a, b)
return a, b, (a + b)
end
x, y, z = add(3, 4) -- x = 3, y = 4, z = 7
条件语句
if 语句
if
语句仅在给定条件为 true
时执行代码块:
lua
if condition then
-- Code to execute if the condition is true
end
if..else 语句
如果条件为 false
,则执行 else
块:
lua
if condition then
-- 条件为 true 时执行的代码
else
-- 条件为 false 时执行的代码
end
if..elseif..else 语句
对于多个条件,可以使用 elseif
:
lua
if condition1 then
-- condition1 为 true 时执行的代码
elseif condition2 then
-- condition2 为 true 时执行的代码
else
-- 所有条件都为 false 时执行的代码
end
循环语句
while 循环
while
循环会在条件为 true
时重复执行代码块:
lua
while condition do
-- 条件为 true 时执行的语句
end
for 循环
数值 for 循环
for
循环会遍历一系列数字,可指定步长:
lua
for variable = startValue, endValue, step do
-- 循环体
end
示例:
lua
for i = 1, 5, 1 do
print(i)
end
泛型 for 循环
泛型 for
循环通常用于遍历表:
lua
-- 遍历数组
numbers = {"one", "two", "three"}
for index, value in ipairs(numbers) do
print(index, value)
end
说明:
index
表示表中的位置。value
表示对应位置的元素。ipairs()
是一个内置的迭代器函数,用于遍历数组。
repeat...until 循环
repeat...until
循环会至少执行一次代码块,并持续循环直到条件为 true
:
lua
repeat
-- 至少执行一次的语句
until condition
示例:
lua
x = 1
repeat
print(x)
x = x + 1
until x > 5