Lua 是一种轻量级的脚本语言,它以其简洁和灵活性而闻名。以下是 Lua 基础语法的一些关键点:
1. 变量声明
Lua 中的变量声明需要使用 local
关键字,表示变量的作用域仅限于当前区块。
local x = 10 -- 局部变量
x = 20 -- 全局变量(如果没有使用 local 关键字)
2. 数据类型
Lua 支持多种数据类型,包括数字、字符串、布尔值、表(table,类似于数组和字典的结合体)、函数、线程和 userdata。
local number = 123 -- 数字
local string = "Hello, Lua!" -- 字符串
local boolean = true -- 布尔值
local table = {key = "value"} -- 表
local function func() end -- 函数
-- 线程和 userdata 在基础语法中较少使用
3. 算术运算
Lua 支持基本的算术运算符。
local sum = 5 + 3
local difference = 5 - 3
local product = 5 * 3
local quotient = 5 / 3
local remainder = 5 % 3
4. 条件语句
if
语句用于条件判断。
local number = 10
if number > 5 then
print("Greater than 5")
elseif number < 5 then
print("Less than 5")
else
print("Equal to 5")
end
5. 循环
Lua 支持 while
和 repeat-until
循环。
local i = 0
while i < 5 do
print(i)
i = i + 1
end
i = 0
repeat
print(i)
i = i + 1
until i > 5
6. 表(Tables)
表是 Lua 中最强大的数据结构,可以用作数组、字典或多维数组。
local list = {10, 20, 30, 40, 50}
local dictionary = {name = "Lua", version = "5.4"}
-- 访问表
print(list[1]) -- 输出:10
print(dictionary.name) -- 输出:Lua
-- 遍历表
for i, v in ipairs(list) do
print(i, v)
end
for k, v in pairs(dictionary) do
print(k, v)
end
7. 函数
在 Lua 中定义函数使用 function
关键字。
function greet(name)
print("Hello, " .. name .. "!")
end
greet("Lua") -- 输出:Hello, Lua!
8. 字符串
Lua 中的字符串可以使用单引号或双引号。
local singleQuoted = 'Hello, Lua!'
local doubleQuoted = "Hello, Lua!"
print(singleQuoted) -- 输出:Hello, Lua!
print(doubleQuoted) -- 输出:Hello, Lua!
9. 模块
Lua 使用模块来组织代码,模块可以定义全局变量和函数。
local myModule = {}
function myModule.add(a, b)
return a + b
end
return myModule
10. 错误处理
Lua 使用 pcall
或 xpcall
来捕获和处理错误。
local status, err = pcall(function()
error("something bad happened")
end)
if not status then
print("Error: " .. err)
end