[Lua快速了解一下]Lua的Table
Lua中的Table其实就是一个Key Value的structure
haoel = {name="ChenHao", age=, handsome=True}
-table的CRUD操作
haoel.website="https://coolshell.cn/"
local age = haoel.age
haoel.handsome = false
haoel.name=nil
看上去像c++的struct,但是其实name, age, handsome, website都是key
还可以这样定义Table
t = {[]=, ['name']="ChenHao", [3.14]="PI"}
可以这样访问t[20],t[“name”], t[3.14]
再比如数组
arr = {,,,,}
实际等价于
arr = {[]=, []=, []=, []=, []=}
也可以定义成不同类型的数组
arr = {"string", , "haoel", function() print("coolshell.cn") end}
其中的这个函数可以这么调用arr[4]()
*注意:Lua的下标不是从0开始的,而是从1开始的
for i=, #arr do
print(arr[i])
end
上面#arr的意思就是arr的长度
-Lua把所有的全局变量放到了一个叫做_G的table里
可以用如下的方法访问一个名为globalVar的全局变量
_G.globalVar
_G["globalVar"]
-iterate一个table
for k, v in pairs(t) do
print(k, v)
end
[Lua快速了解一下]Lua的Table的更多相关文章
- [Lua快速了解一下]Lua运行
-Lua的Hello World print("Hello World") 分号可选 -类似python,进入Lua后再shell中打命令执行语句也可 > print(&qu ...
- [Lua快速了解一下]Lua的OOP
__index(a, b) 对应表达式 a.b 上面我们看到有__index这个重载,这个东西主要是重载了find key的操作.这波操作可以让Lua变得有点面向对象的感觉,让其有点像Javascri ...
- [Lua快速了解一下]Lua的MetaTable和MetaMethod
MetaTable和MetaMethod是Lua中的重要的语法,MetaTable主要是用来做一些类似于C++重载操作符式的功能. 两个分数 fraction_a = {numerator=, den ...
- [Lua快速了解一下]Lua的model
我们可以直接使用require(“model_name”)来载入别的lua文件,文件的后缀是.lua.载入的时候就直接执行那个文件了.比如: 我们有一个hello.lua的文件: print(&quo ...
- [Lua快速了解一下]Lua的控制语句
-Lua中没有++或者--的骚操作 -while loop sum = num = do sum = sum + num num = num + end print("sum =" ...
- [Lua快速了解一下]Lua的语法
-注释 -- 两个减号是行注释 -块注释 --[[ 这是块注释 这是块注释 --]] -变量 Lua的数字只有double型,64bits, Lua的字符串string支持双引号或者单引号 以下例子会 ...
- [Lua快速了解一下]Lua的函数
-recurrsive function fib(n) end ) + fib(n - ) end -closure 示例一 function newCounter() return function ...
- lua中,两种json和table互转方法的效率比较
lua中json和table的互转,是我们在平时开发过程中经常用到的.比如: 在用lua编写的服务器中,如果客户端发送json格式的数据,那么在lua处理业务逻辑的时候,必然需要转换成lua自己的数据 ...
- (转) Lua使用心得一 LUA和VC整合
这几天研究了一下lua,主要关注的是lua和vc之间的整合,把代码都写好放在VC宿主程序里,然后在lua里调用宿主程序的这些代码(或者叫接口.组件,随便你怎么叫),希望能用脚本来控制主程序的行为.这实 ...
随机推荐
- oracle 监听静态注册举例解析
网上有很多关于oracle 监听静态注册的文章,但大多都是简单说说,并没有详细的例子,这里,将结合linux as3 下的oracle 10gR2.0.1 举一个具体的例子 1.在 $ORACLE_H ...
- selenium3+python3+Firefox54环境搭建
之前使用的环境:selenium2.53.6+Firefox44+Python2.7,没有问题,最近想尝试一下新的环境,就搭了个selenium3的环境,过程是挺坎坷的,花费了一天的时间,各种报错,最 ...
- django之admin站点
Admin站点 通过使用startproject创建的项目模版中,默认Admin被启用 1.创建管理员的用户名和密码 python manage.py createsuperuser 然后按提示填写用 ...
- IOS 阻止 锁屏
[UIApplication sharedApplication].idleTimerDisabled=YES;不自动锁屏 idleTimerDisabled
- YUV图像合成原理<转>
YUV图像合成原理 引言:在视频监控中最常用的就是图像拼接和字符叠加,25FPS的视频流,如果每隔40MS就从各个通道中取一幅图像来合成,则可以看到一个实时的合成视频.合成的过程也就是原始图像的拼接. ...
- 黑暗之光 Day1
1. 设置鼠标指针图标 Build Setting -> Player Setting 2. 添加雾的效果 Window->Lighting->Settings. 3. 任意键按下事 ...
- A Bug's Life(加权并查集)
Description Background Professor Hopper is researching the sexual behavior of a rare species of bugs ...
- python:数组/列表(remove()函数、append()函数、sort()函数、reverse()函数)
排序: 1:整理顺序 #冒泡 lista = [5,7,11,19,99,63,3,9,1] list = [] while lista != []: number = 0 for i in list ...
- DDD-EF-数据仓储
关系图 一.分层 二.DomainObjects构建edmx 三.EFRepositoryDemo.Domain定义仓储接口 public interface IRepository<T> ...
- Elasticsearch-PHP 概述
最近在学习使用Elasticsearch,并且是和PHP一起使用的,看到了Elasticsearch-PHP,其实是Elasticsearch为PHP提供的客户端,那么我们来学习一下API文档,如何在 ...