Lua中table的几种构造方式详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lua中table的几种构造方式详解相关的知识,希望对你有一定的参考价值。

参考技术A 0.Lua调试工具——LuaEditor

首先,如果你是第一次接触Lua,请补充一下Lua的最基本之中的基础语法,然后下载一个LuaEditor工具,用来查看Lua执行效果,当然也可以调试,本篇内容不解释这个工具。可以百度一下这个工具。

1.什么是table?

table是Lua最复杂最强大的数据结构,Lua本身并不是面向对象语言,但是对面向对象中毒比较深的程序员,可以借助table”完美”地模拟面向对象编程。最简单地,我们可以把table理解为数组,最复杂的,我们可以把table理解为”世间万物”,因为它可以创造出很多你想象不到的东西。一个字,自由度非常大~!
2.如何创建一个table?

创建table是一件很复杂的事情,不知道大家顶不顶得住,试试看,如下:

复制代码 代码如下:

local a =

这样就创建了一个table了。

3.如何初始化一个table

嗷,虽然创建table已经很复杂了,更复杂的还在后面,怎么初始化table?看看下面的代码:

复制代码 代码如下:

local a = ["x"] = 12, ["mutou"] = 99, [3] = "hello"
print(a["x"]);

在LuaEditor中创建一个lua文件,输入以上代码,保存,然后按F5运行,我们将看到输出窗口输出了一个数字:12。

这挺神奇的,感觉就像是在定义数组,不是吗?

table间的元素用逗号分隔,["x"] = 12代表构造一个table元素,下标为”x”,值为12。(小若:为毛数组下标可以是字符串?)

嗷~!我就等旁白问这个问题,旁白你笨蛋啊,我只是说table像数组,我没有说它就是数组,table支持几乎是所有类型的下标,包括函数。

以上是关于Lua中table的几种构造方式详解的主要内容,如果未能解决你的问题,请参考以下文章

面向对象的几种方法详解(后)《未完成版》

Spring框架学习教程,详解Spring注入bean的几种方式

详解Java中super的几种用法并与this的区别

虚拟机的几种网络方式详解

Lua类函数的几种构造方法

Android中的几种网络请求方式详解