Lua中的数组嵌套数组
2012-1-11 15:17:2
收藏:0
阅读:115
评论:2
如果我在 Lua 中有这样的代码,我应该如何调用“this”?
array = { this = { pic="hi.png", health=4 } , pos=20 }
编辑:
例如,假设我有一个敌人表:
enemy = {}
enemy[1] = {pic="Ships/enem-01.png", hp=2}
enemy[2] = {pic="Ships/enem-02.png", hp=4}
enemy[3] = {pic="Ships/enem-03.png", hp=3}
enemy[4] = {pic="Ships/enem-04.png", hp=5}
enemy[5] = {pic="Ships/enem-05.png", hp=7}
enemy[6] = {pic="Ships/enem-06.png", hp=9}
enemy[7] = {pic="Ships/enem-07.png", hp=15}
然后,我想能够创建一个敌人位置的表。
level1 = {}
level1[1] = { ent = enemy[2], xpos= 20, ypos=20}
我如何使用 level1 调用 pic,还是不能?
我是否更改 level1 如下:
level1[1] = {ent = 2, xpos=20, ypos=20}
然后使用
screen:draw(level[1].xpos, level[1].ypos, enemy[level[1].ent].pic)
原文链接 https://stackoverflow.com/questions/8820110
点赞
stackoverflow用户563154
记住,在 Lua 中没有所谓的“数组”。唯一存在的复杂数据结构是“表格”,可以使用 { }
构建。
表格是一种关联结构,其中存储的每个数据都可以由任何类型的键索引:数字、字符串甚至其他表格。唯一的限制是 nil
类型。
让我们来看一个例子,我们想要构建一个有两个键的表格,一个是数字,一个是字符串:
example = { [1] = "numberkey", ["key"] = "stringkey" }
请注意,在上面的例子中,表格的构建方式不同于您的例子。你可以使用 [ ]
索引表格,如以下示例:
example[1]
example["key"]
但是这种创建和索引字符串键的语法非常冗长。因此,为了使我们的生活更轻松,Lua 提供了它称之为“语法糖”的东西:
example2 = { [1] = "numberkey", key = "stringkey" }
这个表格的内容与之前相同。但是,键“key”的声明方式不同。我们可以在表格构造函数中直接放置字符串键。为了索引它们,我们可以使用另一种“语法糖”:
example2.key
回到你的例子,你可以使用以下方式访问字符串键 this
:
array.this
对我的英语表示抱歉,这不是我的第一(和第二)语言。
2012-01-11 14:06:56
评论区的留言会收到邮件通知哦~
推荐文章
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
- 如何编写 Lua 模式将字符串(嵌套数组)转换为真正的数组?
翻译结果
你只需要这样做:
level1[1].ent.pic -- "Ships/enem-02.png"