lua table表常用操作

  • 模拟数组

    a={2,3,4,5,6}
    
    for i=1,#a do
    	print(a[i])
    end
    
  • 模拟字典

    --声明
    a={["name"]="姓名",["age"]=19,["1"]=5}
    --访问
    print(a["name"])
    print(a.age)
    --赋值
    a["name"]="asd"
    print(a.name)
    --新增
    a.sex=0
    print(a.sex)
    --删除
    a.sex=nil
    print(a.sex)
    --遍历
    for k,v in pairs(a) do
    	print(k,v)
    end
    
  • 类和结构体

    
    Student={
    	name="yxl",
    	age=22,
    	sex=true,
    	speak=function(self)
    		print(self.name.."说话")
        end,
        eat=function()
        	print("吃饭")
    	end
    }
    Student.sleep=function()
         print("睡觉")
    end
    
    function Student:sleep2()
      print(self.name.."睡觉2")
    end
    print(Student.name)
    Student:sleep2()
    

    在lua中访问.和冒号的区别。

    .访问成员方法需要什么参数传入什么参数。

    冒号默认把调用者作为第一个参数出入方法中。

    冒号也可在外部声明函数。

    self就是用来冒号声明时作为第一个参数的代表,self不是this

  • 表的操作

    1. 表的插入 insert

      t1={{name='qw',age=12},{name='rre',age=33}}
      t2={name='dd',age=43}
      table.insert(t1,t2)
      print(#t1)
      
      
    2. 表的移除 remove

      table.remove(t1)
      --移除默认移除最后一个元素
      print(t1[1].name)
      print(t1[2].name)
      print(t1[3])
      print(#t1)
      --指定索引移除
      table.remove(t1,1)
      print(t1[1].name)
      
      
    3. 表的排序 sort

      t3={3,2,5,6,8,4}
      print("*******升序*******")
      table.sort(t3)
      for _,v in pairs(t3) do
      	print(v)
      end
      print("*******降序*******")
      table.sort(t3,function(a,b)
             if a>b then 
             	return true
             end
      	end)
      for _,v in pairs(t3) do
      	print(v)
      end
      
    4. 表的拼接 concat

      print("*******拼接*******")
      
      tb={"ee","qq","dfd","78"}
      str=table.concat(tb,";")
      print(str)
      
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yxlalm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值