lua 基礎語法

2021-08-10 16:43:52 字數 3810 閱讀 4634

--[[print("hello wc hahaha");

a = 10; --全域性變數

local b = tostring(a..2); --區域性變數

dofile("test.lua");

print(type(b));

local c = nil;

local d = "wwe" .. "dad"

print(string.sub(d, 2, 3)) --獲取子串 lua從1開始取的 所以取出的 『we』

local html=

local e, f = string.find(html,"html");

print("e="..e .."f=".. f); --查詢第乙個字串的起始位置

if(1 == 1 and 1 == 3) then --if基本條件語句 or或者 and並且 elseif 後面跟then

print("1 == 1");

elseif(2==2) then

print("2==2");

else

print("1 != 3");

endlocal i =100 --while語法 迴圈

while(not(i < 0)) do

print("i =".. i);

i = i - 1

end ]]

--[[

local k = 100 --相當於do..while方法

repeat

k = k + 1

print("k=" .. k)

until k > 100

for list = 1,10 do --for數值遍歷

print("list="..list)

endlocal vec= --陣列下標從1開始

for i, v in pairs(vec) do --泛型遍歷 pairs

print(i.. ":" .. v)

endlocal suzhu= --陣列

for i, v in ipairs(suzhu) do --泛型遍歷 ipairs標準的陣列從1,2,3...

print(i.. "-:-" .. v)

endlocal tab1 =

for i, v in ipairs(tab1) do

print(i.."=".. v)

endprint("*****==insert*****===")

table.insert(tab1, 3, "002_2") --從第三個位置插入 原先的值往後面移

for i, v in ipairs(tab1) do

print(i.."=".. v)

endprint("*****==insert back*****===")

table.insert(tab1, "004") --預設插入到表的末尾處

for i, v in ipairs(tab1) do

print(i.."=".. v)

endprint("*****==remove *****===")

table.remove(tab1) --預設移除表的末尾處的值

for i, v in ipairs(tab1) do

print(i.."=".. v)

end--]]

--[[

local tab2 = --雜湊表帶有鍵值和key

tab2["name"] = "xiaoming"

tab2["id"] = nil --此處如果將id的鍵值賦值為nil 則將該值刪除了

for i, v in pairs(tab2) do

print(i.."=".. v)

endlocal tab3 = {} --二維表

tab3[1]=

tab3[2]=

for i, v in pairs(tab3) do --多維遍歷表的操作

for i2, v2 in ipairs(v) do

print(i..":-" .. i2.. "=" .. v2)

endendfunction test(p1,...) --函式

local len = table.getn(arg) --可以知道傳引數

print("arg len is ".. len)

print(p1)

if(p1 == nil) then

print("p1 == nil")

else

print("p1 != nil")

endprint("void test function")

return 2, "tom" --函式可以返回多值

endprint(test(222, 002, "a")) --可以接多個值

local fun1 = test

print("*********************")

print(fun1(222, 002, "a")) --可以將函式傳給變數樣賦值給另外乙個變數

local fun2 = function(p1)

print("fun2" .. p1)

endfun2("key")

function fun2(...)

print("test nil")

endfun2("123") --函式過載 後面定義相同的函式會將前面同名的函式給遮蔽掉(弊端無法知道呼叫那個函式)

print("--lua呼叫c--lua呼叫c++ 結合部分----------------") --c++ 向lua堆疊寫東西 通過lua堆疊 lua通過lua全域性標量獲取返回lua堆疊再到c++

--]]

--lua傳遞數字給c++

--cgivelua("wangcheng", 22, 1) --lua傳遞乙個字串引數給c++ lua ture 為0 lua 除了 false 和 nil 之外都是true

--local arr=

--ctestarr(arr) --lua傳遞陣列給c++呼叫

--[[

local tab =

ctesttable(tab, 123)

print("&&&&&&&\n")

local a, b = ctestre()

print("a = "..a.."b="..b)

--]]

--for key, value in pairs(ctestre()) do

--print(key.."="..value.."\n")

--end

width = 1280

print("id:"..tom)

config =

for key, value in pairs(person) do

print(key.."="..value)

endfunction errfun()

print("lua is error")

endfunction event(p1, p2) --c++呼叫lua的函式 c++傳參給lua

print("c++ call lua function "..p1.."==")

for key, value in pairs(p2) do

print(key.."->"..value)

endlocal re=

return re --lua傳回返回值給c++呼叫

end

Lua 基礎語法總結

第乙個 lua 程式 這是 lua 單行注釋的寫法 print start 多行注釋寫法 lua 區分大小寫 lua 的關鍵字 and break do else elseif end false for function if in local nil not or repeat return t...

Lua 簡單基礎語法

print hello world 表示注釋 print print表示控制台輸出 這樣表示多行注釋 小技巧 開頭處多加乙個 表示,取消注釋 1 變數的資料型別,取決於賦值的型別 2 多變數的同時賦值,型別也可以不一致 預設全域性變數,變數型別無需宣告 a 1 print a 輸出 1 local ...

lua語法 基礎篇

1.注釋 單行注釋 類似於c 的 多行注釋 類似於c 的 2.語句 分隔符 分號或者空格,一般多行寫一起,建議用分號 語句塊 do end 賦值語句 a,b,c,d 1,2,3,4 global variables local a,b,c 1,2,3 local varialbes a,b b,a ...