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

table是Lua中唯一的数据结构,其他语言所提供的数据结构,如:arrays、records、lists、queues、sets等,Lua都是通过table来实现,并且在lua中table很好的实现了这些数据结构。--摘自:《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的使用,具体参数的意思。

Cocos2d-x 脚本语言Lua基本数据结构-表(table),布布扣,bubuko.com

时间: 2024-08-06 11:58:23

Cocos2d-x 脚本语言Lua基本数据结构-表(table)的相关文章

Cocos2d-x 脚本语言Lua中的面向对象

Cocos2d-x 脚本语言Lua中的面向对象 面向对象不是针对某一门语言,而是一种思想.在面向过程的语言也能够使用面向对象的思想来进行编程. 在Lua中,并没有面向对象的概念存在,没有类的定义和子类的定义.但相同在Lua中能够利用面向对象的思想来实现面向对象的类继承. 一.复制表的方式面向对象 --Lua中的面向对象 --[[ 复制表方式面向对象 參数为一张表.通过遍历这张表取值,赋给一张空表,最后返回新建的表.来达到克隆表 ]] function clone(tab) local ins =

Cocos2d-x 脚本语言Lua介绍

Cocos2d-x 脚本语言Lua介绍 本篇博客记录Lua学习.学习来自eoe论坛,Lua语言开发Cocos2d-x游戏入门视频教程,猛戳下面地址: http://www.eoeandroid.com/thread-320602-1-1.html 由于Lua语言小巧.简单.能与C/C++无缝结合.运行高速.易于更新等长处,越来越多的公司在使用Lua语言进行游戏开发,而非常多Cocos2d-xproject师的招聘要求上直接写明要求会Lua语言.我了解到一家公司在开发Cocos2d-x游戏时游戏逻

Cocos2d-x 脚本语言Lua基本语法

Cocos2d-x 脚本语言Lua基本语法 前面一篇博客对Lua这门小巧的语言进行了简单的介绍.本篇博客来给大家略微讲一下Lua的语法.不会长篇累牍得把Lua的全部语法都讲一遍,这里通过下面几点来讲Lua语言的基础语法: 输出语句 变量定义及赋值 方法定义及调用 for迭代器的使用 --输出语句,"--"为Lua语言凝视 print("Hello Lua") --输出"Hello Lua" --定义变量.local为Lua的keyword,用来声

Lua笔记——2.表Table

#table是Lua语言中的数据结构,用来帮助在Lua中创建不同的数据类型,例如数组.字典.模块... 数组: --[[ 使用table创建数组 ]]-- tableArray1 = {} --数组结构的初始化 tableArray1 = {"c","c++","c#","oc","java","kotlin",["s1"]= "python",[

c#调用脚本语言Lua——简单Demo

配置: 1. 下载c#下的Lua支持类库.下载地址:http://files.luaforge.net/releases/luainterface/luainterface/2.0.3 将(lua51.dll\LuaInterface.dll)引用自己的项目中. 2. 修改App.config添加以下内容: <?xml version="1.0" encoding="utf-8" ?> <configuration> <startup

L脚本语言的表对象

L脚本语言目前没有实现数组,但是可以用表对象来模拟数组 L脚本语言中,表类似于动态数组 表的大小是动态可变的,表的内容可以是任何对象,不仅仅可以是整数,字符串这样的基本类型,也可以是用户定义的函数,当然也可以是表 L脚本语言内置了表遍历的功能,只需要传入一个回调函数,即可实现对表对象的遍历 回调函数有一个参数,当进行表对象的遍历时,将会逐个将表的元素传入这个参数 这样在对表中内容进行处理的时候,编写不同的回调函数,就可以实现不同的处理逻辑 我们可以在表中插入待处理的文件名,待访问的网址,待计算的

openresty开发系列15--lua基础语法4表table和运算符

lua中的表table 一)table (表)Table 类型实现了一种抽象的"关联数组".即可用作数组,也可以用作map.lua中没有数组和map,都是用table这个类型 --数组java   int[] intArr = new int[]{1,2,3,4,5,6};intArr[0]intArr[1]--map----> key value HashMap mapmap.add(key,value) -- 初始化表mytable = {} -- 指定值mytable[1]

Lua游戏脚本语言入门

在这篇文章中,我想向大家介绍如何进行Lua程序设计.我假设大家都学过至少一门编程语言,比如Basic或C,特别是C.因为Lua的最大用途是在宿主程序中作为脚本使用的. Lua 的语法比较简单,学习起来也比较省力,但功能却并不弱. 在Lua中,一切都是变量,除了关键字.请记住这句话. I. 首先是注释 写一个程序,总是少不了注释的. 在Lua中,你可以使用单行注释和多行注释. 单行注释中,连续两个减号"--"表示注释的开始,一直延续到行末为止.相当于C++语言中的"//&quo

Lua脚本语言简单学习

最近要研究Nmap的脚本编写,于是特定来看一下lua语言 什么是Lua Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能.可用于游戏开发.独立应用脚本.Web应用脚本.扩展和数据库插件.安全系统等. Lua语言特性 轻量级:它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里 可扩展:Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,L