关闭

Cocos2d-x 脚本语言Lua基本数据结构-表(table)

标签: Luacocos2d-x
7946人阅读 评论(0) 收藏 举报
分类:
Cocos2d-x 脚本语言Lua基本数据结构-表(table)

tableLua中唯一的数据结构,其他语言所提供的数据结构,如:arraysrecordslistsqueuessets等,Lua都是通过table来实现,并且在luatable很好的实现了这些数据结构。--摘自:《Programming in Lua》


看以下代码,可以很清晰的明白Lua中表的使用:
-- Lua中的表,table
Config = {hello="Hello Lua",world="World"} -- 赋值方式1,以键=值的方式初始化
Config.words = "Hello" -- 赋值方式2,通过指定table.key = value的形式方式赋值
Config.num = 100 -- 通过赋值来指定类型
Config["name"] = "ZhangSan" -- 赋值方式3,通过table["key"] = value的形式赋值

-- 通过以下形式打印表的值
print(Config["words"])
print(Config.name)
print(Config.hello)

-- 通过for迭代器,遍历表,输出表中的键和值
for key, var in pairs(Config) do
	print(key,var)
end

以下代码是使用表来定义一个数组,使用表还可以定义矩阵和多维数组、链表、队列和双向队列、集合和包。
--定义一个数组,初始化,这里初始化每个元素的类型可以不同
arr = {1,2,3,4,"Hello"}

--迭代数组
for key, var in pairs(arr) do
	print(key,var)
end

--定义一个空表
arr = {}

--通过for循环,调用table的insert方法,往数组插入值
for var=1, 100 do
	table.insert(arr,1,var)
end

--遍历数组,打印键,值
for key, var in pairs(arr) do
	print(key,var)
end

--调用table的api,取得数组中最大的值
print(table.maxn(arr))

读者,可以到以下地址,查看Lua给我们开发者提供的API,目前Lua最新的版本是5.2:http://www.lua.org/manual/5.2/






这里可以查看到相应的API的使用,具体参数的意思。


0
0
查看评论

lua中求table长度

关于lua table介绍,看以前的文章http://www.cnblogs.com/youxin/p/3672467.html。 官方文档是这么描述#的: 取长度操作符写作一元操作 #。 字符串的长度是它的字节数(就是以一个字符一个字节计算的字符串长度)。 table&...
  • luyafei_89430
  • luyafei_89430
  • 2014-11-05 18:02
  • 33428

Cocos2d-x Lua Node与Node层级架构

Cocos2d-x Lua采用层级(树形)结构管理场景、层、精灵、菜单、文本、地图和粒子系统等节点(Node)对象。一个场景包含了多个层,一个层又包含多个精灵、菜单、文本、地图和粒子系统等对象。层级结构中的节点可以是场景、层、精灵、菜单、文本、地图和粒子系统等任何对象。节点的层级结构如下图所示。节点...
  • tonny_guan
  • tonny_guan
  • 2015-05-07 18:16
  • 5758

[quick-cocos2d-x lua学习] 框架详细介绍(二) 核心framework

-_-! NND,本想把文件转转过来就好了,没想到一看内容,老了许多,跟现在的版本都不大一样了,算了,自己在电脑上截几张图,顺便修改一下文章,后续在慢慢完善好了,我还想留着自己以后没事看看呢。 在本文中,我们将要去了解 Quick-Cocos2d-X 的核心,也就是之前文章中介绍的 fam...
  • kyo7552
  • kyo7552
  • 2013-12-05 00:13
  • 2494

cocos2d-x-lua基础系列教程六(lua-table增删改查)

lua-table库 1,插入 table.insert () --如果没有设定位置,默认last位置 例子:  myTable = { 1, 2, 3 } myTable.insert(myTable,1,10...
  • kjjia110
  • kjjia110
  • 2014-06-23 12:08
  • 1289

关于cocos2dx之lua使用TableView

在手机游戏的开发中,滚动是一项非常重要的操作,而cocos2dx中使用的最广泛的就属于TableView了,不过由于cocos2dx的接口比较晦涩,所以需要一个熟悉的过程。本文主要讲解如何使用TableView。 首先当然是创建一个TableView,这比较简单,和其他控件差不多。看看示例代码: ...
  • ycg514230
  • ycg514230
  • 2014-09-30 16:02
  • 8404

lua5.2中对table.insert的区别

local tmp = {} table.insert(tmp, 5, 8)这行代码在lua5.1中会工作得很好,但到了5.2中,就不行了,会报一个 数组越界的提示 因此,为了兼容更高的版本,正常的写法应该是table.insert(tmp, 5)
  • nynyvkhhiiii
  • nynyvkhhiiii
  • 2015-03-18 15:12
  • 2836

Cocos2dx lua版的富文本框

  • 2015-04-07 15:03
  • 4KB
  • 下载

cocos2dx-lua里面class的实现的一些问题记录和思考

首先要理解lua的class,要先理解metatable的作用和__index以及lua调用table里面的函数的时候搜索函数的逻辑: 1、直接当前表里面搜索函数 如果存在,直接调用,不存在继续 2、如果表里面不存在调用的函数,会查找表的metatable的__index   ...
  • sydnash
  • sydnash
  • 2016-04-14 14:41
  • 2113

Cocos2d-Lua之table

一、一维数组a = {1,2,3, x = 5, y = 7, 9, nil, 10, m = 11} a[10] = 12 a.m = "a.m" a["n"] = "a[n]" len = table.maxn(a) print(&qu...
  • maoliran
  • maoliran
  • 2016-06-16 20:44
  • 226

cocos2d-x架构和目录结构(摘自官方文档)

1. Cocos2d-x1.1 架构1.2目录结构从github下载Cocos2d-x repo资源包后,或解压稳定版ZIP压缩包后,就会看到如下的目录结构:目录名称说明CocosDenshion音频支持。注意:Android平台中背景音乐和短音效所使用的系统API不同。cocos2dxCocos2...
  • likendsl
  • likendsl
  • 2016-11-30 17:02
  • 1664
    个人资料
    • 访问:5040003次
    • 积分:44421
    • 等级:
    • 排名:第89名
    • 原创:660篇
    • 转载:80篇
    • 译文:3篇
    • 评论:2760条
    博客专栏
    尽情骚扰我

    微信公众号:wwjblog

    微信号:whatswwj


    移动开发者狂热群:注明入群理由,里面有一群热爱分享的开发者
    • Q群:299402133
    • QQ号:659982592

    高品质课堂推荐:http://stay4it.com


    最新评论
    【程序员的成长路线图】
    从入门到成长到成熟再到优秀,大多数程序员走了前面一段相似的道路,而有些人却走得更远一些!!!!