一、變數與數據類型
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/zh-tw/n/270354.html