Lua笔记——2.表Table

来源:互联网 发布:从零开始学java.epub 编辑:程序博客网 时间:2024/06/16 10:56

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)    endendipairsPrint(tableArray1)function pairsPrint(table)    print("\npairs迭代器遍历所有元素")    for k,v in pairs(table) do        print(k.."--"..v)    endendpairsPrint(tableArray1)

捕获1.PNG

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)  --移除指定位置上的元素后,其后的元素依次向前移动

捕获2.PNG

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 maxendtableArray2 = {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 numendprint(table_num(tableArray2))

捕获3.PNG

原创粉丝点击