zoukankan      html  css  js  c++  java
  • lua table 的操作(四)

      table在前面作过介绍,它是一种关联数组,这种关联指的是可以设置各类类型的key来存储值。

    1.table 间的数据传递

         -- 为 table a 并设置元素,然后将 a 赋值给 b,则 a 与 b 都指向同一个内存地址
         -- 如果 a 设置为 nil ,则 b 同样能访问 table 的元素。
         -- 如果没有指定的变量指向a,Lua的垃圾回收机制会清理相对应的内存。
         
       mytable = {}; print("mytable的类型是:",type(mytable)); mytable[1] = "lua" mytable["wow"] = "修改前的值" print("mytable 索引为1的元素是:",mytable[1]) print("mytable 索引为wow的元素是:",mytable["wow"]) beforetable = mytable; print("beforetable 索引为1的元素是:",beforetable[1]) print("mytable 索引为wow的元素是:",mytable["wow"]) beforetable["wow"] = "修改后的值" print("mytable 索引为wow的元素是:",mytable["wow"]) -- 释放变量 beforetable = nil; print("beforetable是:",beforetable) -- mytable 仍然可以访问 print("mytable索引为wow的元素是:",mytable["wow"]) mytable = nil; print("mytable是:",mytable)

    2.table的操作

    -- table 的操作:
            -- 1.连接 table.concat()
            -- 2.插入 table.insert();在数据的指定位置插入元素,默认在末尾
            -- 3.移除 table.remove(table,pos) 移除指定位置的元素
            -- 4.排序 table.sort(table)
    
         fruits = {"banana","orange","apple"}

       --- 连接操作
    print("连接后的字符串是:",table.concat(fruits)); -- 指定符号连接 print("连接后的字符串是:",table.concat(fruits,", ")); -- 指定索引连接 print("连接后的字符串是:",table.concat(fruits,", ",2,3));
       --- 插入操作
    table.insert(fruits,2,"pear") print("插入后的元素是:",fruits[2])

       --- 移除操作
    print("移除前是:",table.concat(fruits,", ")); table.remove(fruits,3); print("移除前后:",table.concat(fruits,", "));   

       --- 排序操作
    print("排序前:") for i, v in pairs(fruits) do print(i,v) end table.sort(fruits) print("排序后:") for i, v in pairs(fruits) do print(i,v) end
  • 相关阅读:
    备忘录
    中缀表达式转为后缀表达式
    未出现的最小正整数
    摩尔投票算法
    两个等长升序序列找中位数
    Morris二叉树遍历
    2020牛客寒假算法基础集训营5 街机争霸
    2020牛客寒假算法基础集训营5 牛牛战队的比赛地
    2020牛客寒假算法基础集训营2 求函数
    2020牛客寒假算法基础集训营2 建通道
  • 原文地址:https://www.cnblogs.com/MrRightZhao/p/11288313.html
Copyright © 2011-2022 走看看