zoukankan      html  css  js  c++  java
  • lua入门之二table

     1 --table
     2 
     3 mytable={}
     4 
     5 mytable[1]="lua"
     6 
     7 --打印table名称即是地址,和数组一样
     8 print(mytable)
     9 
    10 --打印数组名称即是地址
    11 myarray={"xx","oo"}
    12 print(myarray)
    13 
    14 ---比较:数组就是下标为数字的,table下标可为数字,可为其他类型
    15 
    16 
    17 --移除引用,-- lua 垃圾回收会释放内存
    18 --mytable=nil
    19 --print(mytable)
    20 
    21 mytable2={"wewe","wewertgd"}
    22 print("mytable2的类型是:",type(mytable2))
    23 
    24 --alertmytable2和mytable2指向同一个table
    25 alertmytable2=mytable2
    26 print("[1]",alertmytable2[1])
    27 print("[2]",alertmytable2[2])
    28 
    29 --释放
    30 alertmytable2=nil
    31 print("alertmytable2",alertmytable2)
    32 print("mytable2",mytable2)
    33 
    34 
    35 print("---------------------table操作-拼接--------------------")
    36 
    37 fruits = {"banana","orange","apple"}
    38 -- 返回 table 连接后的字符串
    39 -- 把table内容拼接
    40 print("连接后的字符串 ",table.concat(fruits,"*"))
    41 -- 第二、三个元素拼接
    42 print("连接后的字符串 ",table.concat(fruits,"*",2,3))
    43 
    44 fruits1 = {
    45     ["banana"]="banana1",
    46     ["orange"]="orange1",
    47     ["apple"]="apple1",
    48 }
    49 --这种拼接无效
    50 print("连接后的字符串 ",table.concat(fruits1,","))
    51 
    52 print("---------------------table操作-插入--------------------")
    53 
    54 fruits2 = {"banana","orange","apple"}
    55 --末尾插入
    56 table.insert(fruits2,"xxpp")
    57 --print(fruits2[4])
    58 
    59 --在索引为2的地方插入
    60 table.insert(fruits2,2,"oo")
    61 --print(fruits2[2])
    62 for k,v in pairs(fruits2) do
    63     print(k,v)
    64 end
    65 
    66 print("---------------------table操作移除--------------------")
    67 
    68 --移除最后一个元素
    69 table.remove(fruits2)
    70 for k,v in pairs(fruits2) do
    71     print(k,v)
    72 end
    73 
    74 --总结 insert  remove 不指定位置的话,都是从尾部操作
    75 
    76 
    77 print("---------------------table操作排序--------------------")
    78 
    79 fruits3= {"banana","orange","apple","grapes"}
    80 print("排序前")
    81 for i,v in ipairs(fruits3) do
    82     print(i,v)
    83 end
    84 
    85 ---默认排序是按首字母ASCII排序
    86 table.sort(fruits3)
    87 print("排序后")
    88 for i,v in ipairs(fruits3) do
    89     print(i,v)
    90 end
    91 
    92 print("--------table.maxn最大值(最大下标--------------")
    93 -- -table.maxn在 Lua5.2 之后该方法已经不存在了
    94 tbl = {[1] = "a", [2] = "b", [3] = "c", [26] = "z"}
    95 print("tbl长度",#tbl)
    96 print("tbl下标最大值",table.maxn(tbl))
  • 相关阅读:
    PHPstorm配置xdebug问题小记
    PHP 实现遍历出目录及其子文件
    localStorage存、取数组
    关于用户体验
    PHP实现导出Excel文件
    js将一位数组分割成每三个一组
    vue 动态绑定背景图片
    父组件传值给子组件
    数组字符串 转化成 对象
    Vuex 页面刷新后store保存的数据会丢失 取cookie值
  • 原文地址:https://www.cnblogs.com/danmoqingshan/p/7561430.html
Copyright © 2011-2022 走看看