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数据结构相关推荐

  1. Lua虚拟机中的数据结构与栈

    Lua虚拟机中的数据结构与栈 来源 https://blog.csdn.net/zry112233/article/details/80828327 由上一篇文章可知解释器分析Lua文件之后生成Pro ...

  2. Lua:01---Lua语言介绍、运行Lua程序(lua解释器)

    一.Lua语言介绍 Lua语言从一开始就被设计为能与C/C++及其他常用语言开发的软件集成在一起使用的语言,这种设计带来了非常多的好处: 一方面, Lua语言不需要在性能.与三方软件交互等C语言已经非 ...

  3. [Lua语言编程]Lua语言基础知识

    文章目录 `Lua` `Lua`语言的起源 `Lua` 特性 `Lua下载` Linux 系统上安装 Mac OS X 系统上安装 Window 系统上安装 `Lua` `Lua`语言语法 `Lua` ...

  4. Lua之Lua安装与Lua变量-TTLSA(一)

    为什么80%的码农都做不了架构师?>>>    公司业务有用到Lua,与nginx结合起来实现高性能的web应用,想去弄懂这方面的知识,就去了解学习了下Lua,欢迎大咔们指教. 1. ...

  5. Lua基本语法-lua与C#的交互(相当简单详细的例子)

    lua脚本 与 C#的交互 本文提供全流程,中文翻译. Chinar坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 Lua And C# - ...

  6. python数据结构推荐书-关于数据结构,有哪些不错的参考书推荐?

    学习编程,数据结构是你必须要掌握的基础知识,那么数据结构到底是什么呢? 其实数据结构就是用来描述计算机里存储数据的一种数学模型,因为计算机里要存储很多乱七八糟的数据,所以也需要不同的数据结构来描述. ...

  7. 你真的懂redis的数据结构了吗?redis内部数据结构和外部数据结构揭秘

    Redis有哪些数据结构? 字符串String.字典Hash.列表List.集合Set.有序集合SortedSet. 很多人面试时都遇到过这种场景吧? 其实除了上面的几种常见数据结构,还需要加上数据结 ...

  8. 数据结构:线性数据结构(1)-栈(栈,队列,deques, 列表)

    栈,队列,deques, 列表是一类容器,他们数据项之间的顺序由添加或删除的顺序决定,一旦一个数据项被添加,它相对于前后元素一直保持该位置不变.注入此类的数据结构称为线性数据结构. 栈 栈(栈,队列, ...

  9. lua脚本之lua语言简介以及lua的安装

    本博主不擅于进行文字创作,所以,相当一部分文字皆复制于其他博文.还希望能够得到谅解.  一.Lua语言简介 Lua是一个免费的开源软件,可以免费用于科研及商业.Lua具有一个专家团队在维护和升级,其设 ...

  10. 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' ...

最新文章

  1. 实时语义分割--ICNet for Real-Time Semantic Segmentation on High-Resolution Images
  2. 插件和代码两种方法搞定WordPress回复邮件通知
  3. ionic开发中页面跳转隐藏底部Ttab
  4. thinkPHP学习笔记(2)
  5. 爬虫python爬取页面请求_03 Python网络爬虫第三弹《爬取get请求的页面数据》,urllib...
  6. HALCON示例程序measure_ball_bond.hdev电路板焊点位置测量
  7. 从0到1 | 0基础/转行如何用3个月搞定机器学习
  8. 揭秘!月薪30K的大牛到底看了哪些视频?【共2000G】
  9. 贪吃蛇系列之七——有吃的啦
  10. eclipse中怎么安装spring插件_安装eclipse中容易遇到的问题
  11. pandas 处理 csv
  12. Python爬虫防封杀方法集合
  13. Matlab 心形函数
  14. 云音乐计算机等科目英文,音乐英文术语
  15. 感受晋味新年俗 你的高铁票可享景区门票优惠
  16. 2019最新IDEA Java教学视频课程资料
  17. Gin渲染html模板报错:ends in a non-text context: {stateHTMLCmt delimNone urlPartNone jsCtxRegexp attrNone
  18. 我胡汉三又回来了之拼多多笔试复盘
  19. php for循环删除元素,php-在foreach循环中取消设置数组值
  20. 《途客圈创业记:不疯魔,不成活》一一2.2 种子融资

热门文章

  1. Docker容器数据卷-Volume小结
  2. NHibernate中ISession的Flush
  3. 2013-07-29 IT 要闻速记快想
  4. .NET后台输出js脚本的方法
  5. eclipse关闭mysql数据库_Eclipse 连接 Mysql 数据库操作总结
  6. css如何让图片不平铺,css怎么设置图片不平铺
  7. linux c++开发环境_玩转 WSL 在 Win10 上打造 Linux 开发环境
  8. Java项目 学生信息管理系统 DAO设计模式
  9. Java从入门到精通 第0章Java学习指南
  10. 连接spark集群Windows环境搭建