1. 程式人生 > >Lua筆記——2.表Table

Lua筆記——2.表Table

添加 C# strip png alt lua index 分隔 字符串數組

#table是Lua語言中的數據結構,用來幫助在Lua中創建不同的數據類型,例如數組、字典、模塊...

數組:

--[[
使用table創建數組
]]--
tableArray1 = {}    --數組結構的初始化

tableArray1 = {"c","c++","c#","oc","java","kotlin",["s1"]= "python",["s2"]= "lua", ["s3"]= "javascript"}    --使用默認索引,以及自定義索引

tableArray1[1] = "php"      --使用默認索引對值進行修改

function ipairsPrint(table)
    print("\nipairs叠代器對索引升序遍歷,索引中斷遍歷停止")
    for k,v in ipairs(table) do
        print(k .. "---"..v)
    end
end
ipairsPrint(tableArray1)

function pairsPrint(table)
    print("\npairs叠代器遍歷所有元素")
    for k,v in pairs(table) do
        print(k.."--"..v)
    end
end
pairsPrint(tableArray1)

技術分享圖片

table數組相關方法

print("table模塊下常用方法:")

res1 = table.concat(tableArray1)    --字符串數組相連接
res2 = table.concat(tableArray1,">")    --給字符串數組元素添加分隔符並返回字符串
res3 = table.concat(tableArray1,">",2,6)    --給字符串數組指定元素添加分隔符返回字符串
print("table.concat(tableParam)方法的結果是:",res1)
print("table.concat(tableParam,splitMark)的結果是:",res2)
print("table.concat(tableParam,splitMark,startIndex,endIndex)的結果是:",res3)

res4 = table.insert(tableArray1,"swift")    --給數組插入元素,無其他參數直接在末尾插入
res41 = table.concat(tableArray1,">")
print("table.insert(tableParam,insertValue)的結果是:",res41)    --插入後的並連接字符串之後的結果
print("插入之前tableArray1[3] = ",tableArray1[3])
res5 = table.insert(tableArray1,3,"javascript")     --給指定位置添加元素,原位置及其後的元素依次後移
print("插入之後tableArray1[3] = ",tableArray1[3])
res5 = table.insert(tableArray1 ,4,"go")
res51 = table.concat(tableArray1,">")
print("table.insert(tableParam,insertIndex,insertValue的結果是:)",res51)
print("4號位置插入go之後的tableArray為:")
ipairsPrint(tableArray1)

res6 = table.remove(tableArray1,3)  --移除指定位置上的元素後,其後的元素依次向前移動

技術分享圖片

table其他方法

print("\ntable相關方法\n")
function table_max (table)
    local max
    for k,v in pairs(table) do
        if(max == nil) then
            max = v
        end
        if(max < v) then
            max = v
        end
    end
    print( "the max of the table is :",max)
    return max
end
tableArray2 = {5,35,5,2,4,555,4,52,4,eg1 = 123, eg2 = 345 }
print("\nUse the table.sort function")
table.sort(tableArray2)
ipairsPrint(tableArray2)
pairsPrint(tableArray2)
print("\nGet the max num of a number table")
table_max(tableArray2)
--[[
在Lua中使用#tableName所得到的長度只到索引中斷處
]]--
print(#tableArray2) --
--可以自行書寫一個獲取數組結構表的成員個數
function table_num(t)
    local num = 0
    for k,v in pairs(t) do
        num = num +1
    end
    return num
end
print(table_num(tableArray2))

技術分享圖片

Lua筆記——2.表Table