• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Lua Table 操作

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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())

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
nginx使用ngx_lua访问后端Thrift-Server实现和介绍发布时间:2022-07-22
下一篇:
高性能伪事务之Lua in Redis发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap