Lua Table 操作
Lua中table类似与C#种的字典,其实就是一个key-value键值对数据结构.来学习下table基本操作
Table的创建
myTable = {} --表名后面使用{}赋值,表示一个空的表 myTable = {name="盘子脸",age=18,isMan=true} --创建时候就添加键-值 myTable = {10,20,30,"plateface"} --创建数字下标值的table,默认是从1开始
Table的赋值
myTable[3] = 34 --当键是一个数字的时候的赋值方式 myTable["name"] = "盘子脸" --当键是一个字符串的赋值方式
myTable.name = "plateface" --跟myTable["name"]访问的是同一个value, print(myTable.name) 输出plateface
Table的访问
myTable[3] --当键是数字的时候,只有一种访问方式 myTable.name --当键是字符串的时候有两种访问方式 myTable["name"]
Table的遍历
myTable = {10,20,30,40} for index=1,table.getn(myTable) do print(myTable[index]) end for index,value in ipairs(myTable) do print(index,value) end
表相关的函数:
table.conccat | 把表中所有数据连成一个字符串 |
table.insert | 在表中2的位置插入一个 |
table.remove | 移除指定位置的数据 |
table.sort | 排序 |
通过表来实现面向对象(一)
Enemy = {} local this = Enemy --定义属性 Enemy.hp = 100 Enemy.speed = 12.3 --定义方法 Enemy.Move = function() print("敌人在移动") end function Enemy.Attack() print(this.hp," 敌人的HP") this.Move() end --调用攻击方法 Enemy.Attack()
通过表来实现面向对象(二)
Apple = {} --使用:给table添加方法 function Apple:new() Apple.str = "苹果的价格是6元" return Apple; end function Apple:toString() print(Apple.str) end local a = Apple:new() print(a.toString())
如果你感兴趣,你可以把你妹妹介绍给我