lua数据结构php,Lua数据结构
1.简介 Lua语言只有一种基本数据结构, 那就是table, 所有其他数据结构如数组啦, 类啦, 都可以由table实现. 2.table的下标 例e05.lua -- Arrays myData = {} myData[0] = “foo” myData[1] = 42 -- Hash tables myData[“bar”] = “baz” -- Iterate through the -- structure for key, value in myData do print(key .. “=“ .. value) end 输出结果 0=foo 1=42 bar=baz 程序说明 首先定义了一个table myData={}, 然后用数字作为下标赋了两个值给它. 这种 定义方法类似于C中的数组, 但与数组不同的是, 每个数组元素不需要为相同类型, 就像本例中一个为整型, 一个为字符串. 程序第二部分, 以字符串做为下标, 又向table内增加了一个元素. 这种table非常 像STL里面的map. table下标可以为Lua所支持的任意基本类型, 除了nil值以外. Lua对Table占用内存的处理是自动的, 如下面这段代码 a = {} a["x"] = 10 b = a -- `b' refers to the same table as `a' print(b["x"]) --> 10 b["x"] = 20 print(a["x"]) --> 20 a = nil -- now only `b' still refers to the table b = nil -- now there are no references left to the table b和a都指向相同的table, 只占用一块内存, 当执行到a = nil时, b仍然指向table, 而当执行到b=nil时, 因为没有指向table的变量了, 所以Lua会自动释放table所占内存 3.Table的嵌套 Table的使用还可以嵌套,如下例 例e06.lua -- Table ‘constructor’ myPolygon = { color=“blue”, thickness=2, npoints=4; {x=0, y=0}, {x=-10, y=0}, {x=-5, y=4}, {x=0, y=4} } -- Print the color print(myPolygon[“color”]) -- Print it again using dot -- notation print(myPolygon.color) -- The points are accessible -- in myPolygon[1] to myPolygon[4] -- Print the second point’s x -- coordinate print(myPolygon[2].x) 程序说明 首先建立一个table, 与上一例不同的是,在table的constructor里面有{x=0,y=0}, 这是什么意思呢? 这其实就是一个小table, 定义在了大table之内, 小table的 table名省略了. 最后一行myPolygon[2].x,就是大table里面小table的访问方式.
lua数据结构php,Lua数据结构相关推荐
- Lua虚拟机中的数据结构与栈
Lua虚拟机中的数据结构与栈 来源 https://blog.csdn.net/zry112233/article/details/80828327 由上一篇文章可知解释器分析Lua文件之后生成Pro ...
- Lua:01---Lua语言介绍、运行Lua程序(lua解释器)
一.Lua语言介绍 Lua语言从一开始就被设计为能与C/C++及其他常用语言开发的软件集成在一起使用的语言,这种设计带来了非常多的好处: 一方面, Lua语言不需要在性能.与三方软件交互等C语言已经非 ...
- [Lua语言编程]Lua语言基础知识
文章目录 `Lua` `Lua`语言的起源 `Lua` 特性 `Lua下载` Linux 系统上安装 Mac OS X 系统上安装 Window 系统上安装 `Lua` `Lua`语言语法 `Lua` ...
- Lua之Lua安装与Lua变量-TTLSA(一)
为什么80%的码农都做不了架构师?>>> 公司业务有用到Lua,与nginx结合起来实现高性能的web应用,想去弄懂这方面的知识,就去了解学习了下Lua,欢迎大咔们指教. 1. ...
- Lua基本语法-lua与C#的交互(相当简单详细的例子)
lua脚本 与 C#的交互 本文提供全流程,中文翻译. Chinar坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 Lua And C# - ...
- python数据结构推荐书-关于数据结构,有哪些不错的参考书推荐?
学习编程,数据结构是你必须要掌握的基础知识,那么数据结构到底是什么呢? 其实数据结构就是用来描述计算机里存储数据的一种数学模型,因为计算机里要存储很多乱七八糟的数据,所以也需要不同的数据结构来描述. ...
- 你真的懂redis的数据结构了吗?redis内部数据结构和外部数据结构揭秘
Redis有哪些数据结构? 字符串String.字典Hash.列表List.集合Set.有序集合SortedSet. 很多人面试时都遇到过这种场景吧? 其实除了上面的几种常见数据结构,还需要加上数据结 ...
- 数据结构:线性数据结构(1)-栈(栈,队列,deques, 列表)
栈,队列,deques, 列表是一类容器,他们数据项之间的顺序由添加或删除的顺序决定,一旦一个数据项被添加,它相对于前后元素一直保持该位置不变.注入此类的数据结构称为线性数据结构. 栈 栈(栈,队列, ...
- lua脚本之lua语言简介以及lua的安装
本博主不擅于进行文字创作,所以,相当一部分文字皆复制于其他博文.还希望能够得到谅解. 一.Lua语言简介 Lua是一个免费的开源软件,可以免费用于科研及商业.Lua具有一个专家团队在维护和升级,其设 ...
- PandoraBox登录无法后台,出现/usr/lib/lua/luci/dispatcher.lua:461(2021-12-19亲测)
K2刷了老毛桃的PandoraBox固件,IP无法登录路由器后台,出现:/usr/lib/lua/luci/dispatcher.lua:461: bad argument #1 to 'pairs' ...
最新文章
- 实时语义分割--ICNet for Real-Time Semantic Segmentation on High-Resolution Images
- 插件和代码两种方法搞定WordPress回复邮件通知
- ionic开发中页面跳转隐藏底部Ttab
- thinkPHP学习笔记(2)
- 爬虫python爬取页面请求_03 Python网络爬虫第三弹《爬取get请求的页面数据》,urllib...
- HALCON示例程序measure_ball_bond.hdev电路板焊点位置测量
- 从0到1 | 0基础/转行如何用3个月搞定机器学习
- 揭秘!月薪30K的大牛到底看了哪些视频?【共2000G】
- 贪吃蛇系列之七——有吃的啦
- eclipse中怎么安装spring插件_安装eclipse中容易遇到的问题
- pandas 处理 csv
- Python爬虫防封杀方法集合
- Matlab 心形函数
- 云音乐计算机等科目英文,音乐英文术语
- 感受晋味新年俗 你的高铁票可享景区门票优惠
- 2019最新IDEA Java教学视频课程资料
- Gin渲染html模板报错:ends in a non-text context: {stateHTMLCmt delimNone urlPartNone jsCtxRegexp attrNone
- 我胡汉三又回来了之拼多多笔试复盘
- php for循环删除元素,php-在foreach循环中取消设置数组值
- 《途客圈创业记:不疯魔,不成活》一一2.2 种子融资
热门文章
- Docker容器数据卷-Volume小结
- NHibernate中ISession的Flush
- 2013-07-29 IT 要闻速记快想
- .NET后台输出js脚本的方法
- eclipse关闭mysql数据库_Eclipse 连接 Mysql 数据库操作总结
- css如何让图片不平铺,css怎么设置图片不平铺
- linux c++开发环境_玩转 WSL 在 Win10 上打造 Linux 开发环境
- Java项目 学生信息管理系统 DAO设计模式
- Java从入门到精通 第0章Java学习指南
- 连接spark集群Windows环境搭建