Lua语言基础

基础语法

-- 变量(默认全局) x = 10 local y = 20 -- 局部变量 -- 字符串 local s = "hello " .. "world" -- 拼接 local len = #s -- 长度 -- 多返回值 local function minmax(a, b) return math.min(a,b), math.max(a,b) end local lo, hi = minmax(5, 3) -- lo=3, hi=5

表(数组和映射)

-- 数组(从1开始!) local arr = {10, 20, 30} print(arr[1]) -- 10 table.insert(arr, 40) table.remove(arr, 1) -- 字典 local user = {name = "Alice", age = 28} user.email = "alice@example.com" print(user["name"]) -- 遍历 for i, v in ipairs(arr) do print(i, v) end for k, v in pairs(user) do print(k, v) end

元表实现面向对象

local Animal = {} Animal.__index = Animal function Animal.new(name, sound) return setmetatable({name=name, sound=sound}, Animal) end function Animal:speak() print(self.name .. " says " .. self.sound) end local dog = Animal.new("Dog", "Woof") dog:speak() -- Dog says Woof

标准库

模块常用函数
stringlen, sub, find, gsub, format, upper, lower
tableinsert, remove, sort, concat, unpack
mathfloor, ceil, sqrt, max, min, random, pi
ioread, write, open, close, lines
ostime, date, clock, exit, getenv