一、Lua的變量類型
? ? ? ? 全局變量:MyVar
? ? ? ? 局部變量:local MyVar
二、Lua的數據類型
? ? ? ? 1.nil:一個空值 類似C++的nullptr
? ? ? ? 2.Boolean:true/false 類似C++的bool
? ? ? ? 3.string:字符串 類似C++的std::string
? ? ? ? 4.Number:數字 類似C++的double 在Lua中值都是雙精度沒有int
? ? ? ? 5.table:一個表存放數據,可以是不同類型的數據
三、運算符
? ? ? ? 1.+ - * /
? ? ? ? 2.== :等于? ?~= :不等于? < 小于? >大于? <=小于等于? >=大于等于
? ? ? ? 3. and并且? or 或者
四、控制結構?
(while)
index = 1
while index < 10 doprint(index)index = index + 1
end(repeat)
index = 1
repeatprint(index)index = index + 1
until index > 10(if)
a = 5
b = 10
if (a < b) thenprintf("a < b")
end(for)
--這個for循環默認的增加量是1
for index = 1 , 10 doprintf(index)
end--這個for循環每次的增加量是2 開始時是1第二次是1+2第三次是1+2+2
for index = 1 , 10 , 2 doprint(index)
end(break)
for index = 1, 100 doif index == 52 thenprint("index == 52")breakend
end
五、函數
function FunctionName(par1,par2,...)print("函數體")
end
在Lua的函數中可以沒有參數使用...替代
function FunctionName(...)--可以通過arg.n來獲得變量的個數 這個arg是一個table表用來存儲所有的變量 Lua自己生成的表不用手動生成print("")
end
六、字符串
--tonumber將字符串轉換成數字
myString = "1234"
myNumber = tonumber(myString)--tostring將數字轉換成字符串
myNumber = 1234
myString = tostring(myNumber)--string.len獲得字符串的長度
myString = "1234"
print(string.len(myString)) --4--string.sub(myString , start , end)
myString = "Hello World"
newString = string.sub(myString , 1 , 5)
print(newString) -- Hello
?七、表Table
-- 假設
-- 創建一個表添加100個元素
myTable = {}
for index = 1 , 100 domyTable[index] = math.random(1,1000)
end-- table.getn(myTable) 獲得表的大小
print(table.getn(myTable))--table.insert(myTable,position,value) 在表中的指定位置插入一個值
table.insert(myTable,20,"Hello World") -- 在表的第25位置處插入字符串"Hello World"--table.ramove(myTable,position) 移除表指定位置的元素
print(table.ramove(myTable,20))-- pairs 可以用于遍歷table中的每個元素
方式一、for index , value in pairs(myTable) doprint(index,value) end
方式二、for index , table.getn(myTable) doprint(index,myTable[index])end