一、变量与数据类型
Lua是一种动态语言,变量不需要声明就可以直接使用。变量的值可以是任何数据类型,包括nil、boolean、number、string、table、function、userdata和thread。
Lua的变量名是区分大小写的,使用字母、数字和下划线构成,但不能以数字开头。Lua的变量作用域为局部作用域和全局作用域。
-- 声明变量并赋值
local a = 10
local str = "hello world"
local arr = {1, 2, 3}
-- 输出变量的值
print(a) -- 10
print(str) -- hello world
print(arr[1], arr[2], arr[3]) -- 1 2 3
-- 全局变量声明
b = 20
print(b) -- 20
二、控制语句
Lua的控制语句包括条件语句和循环语句。
Lua中的条件语句包括if语句、if-else语句和if-elseif-else语句。
local a = 10
if a > 0 then
print("a is positive")
elseif a < 0 then
print("a is negative")
else
print("a is zero")
end
-- 输出:a is positive
Lua中的循环语句包括while语句、repeat-until语句和for语句。
-- while循环
local i = 1
while i 10
-- for循环
for k = 1, 10 do
print(k)
end
-- for循环(迭代器)
local arr = {1, 2, 3}
for key, value in pairs(arr) do
print(key, value)
end
三、函数
Lua中的函数通过关键字function来定义,支持多个返回值。
-- 定义函数
function add(a, b)
return a + b
end
-- 调用函数
local result = add(1, 2)
print(result) -- 3
-- 支持多个返回值
function swap(a, b)
return b, a
end
local x, y = swap(1, 2)
print(x, y) -- 2 1
四、字符串操作
Lua中的字符串可以使用单引号或双引号来表示,其中单引号与双引号的功能是相同的。
Lua中的字符串可以通过连接运算符..来连接两个字符串。
local str1 = "hello"
local str2 = "world"
local str3 = str1 .. " " .. str2
print(str3) -- hello world
-- 字符串长度
print(#str3) -- 11
-- 字符串查找
local s, e = string.find(str3, "world")
print(s, e) -- 7 11
-- 字符串替换
local str4 = string.gsub(str3, "world", "Lua")
print(str4) -- hello Lua
五、表
Lua中的表(table)是一个关联数组,通过索引访问表的元素。Lua中的表可以包含任何数据类型,甚至可以作为其他表的元素,还可以作为函数的参数和返回值。
-- 声明表
local tbl1 = {}
-- 壓入幾個元素
tbl1["name"] = "Lucy"
tbl1["age"] = 18
tbl1[1] = "hello"
tbl1[2] = "world"
-- 遍历表
for key, value in pairs(tbl1) do
print(key, value)
end
-- 访问表的元素
print(tbl1["name"]) -- Lucy
print(tbl1.age) -- 18
-- 嵌套表
local tbl2 = {["tbl1"] = tbl1, ["score"] = 90}
print(tbl2["tbl1"]["name"], tbl2.score) -- Lucy 90
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/270354.html