码迷,mamicode.com
首页 > 其他好文 > 详细

Lua中的Table操作

时间:2015-08-28 11:09:28      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:lua   unity   

Lua中table类似与C#种的字典,其实就是一个key-value键值对数据结构.来学习下table基本操作

Table的创建

myTable = {}                                         --表名后面使用{}赋值,表示一个空的表
myTable = {name="海洋",age=18,isMan=true}            --创建时候就添加键-值
myTable = {10,20,30,"Ocean"}                        --创建数字下标值的table,默认是从1开始


Table的赋值

myTable[3] = 34                   --当键是一个数字的时候的赋值方式
myTable["name"] = "海洋"           --当键是一个字符串的赋值方式

myTable.name = "Ocean"        --跟myTable["name"]访问的是同一个value, print(myTable.name) 输出Ocean


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 排序

在Lua中没有类的概念,都是用表来创建的
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()


版权声明:本文为博主原创文章,未经博主允许不得转载。

Lua中的Table操作

标签:lua   unity   

原文地址:http://blog.csdn.net/sinat_20559947/article/details/48048215

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!