【发布时间】:2022-11-13 23:37:02
【问题描述】:
我对语言 lua 中的以下语法感到困惑:
w = {x=0, y=0}
w[1] = "another"
在我看来,第一句话将 w 描述为类似 dict 的结构,然后将其描述为数组,第一个和第二个的 w 是否相同?如果是这样,为什么?为什么两个不同的东西可以存储在一个w中?
我是 lua 和英语的新手,请原谅。
我想知道一些关于lua指定的想法和我的问题的解释。
【问题讨论】:
我对语言 lua 中的以下语法感到困惑:
w = {x=0, y=0}
w[1] = "another"
在我看来,第一句话将 w 描述为类似 dict 的结构,然后将其描述为数组,第一个和第二个的 w 是否相同?如果是这样,为什么?为什么两个不同的东西可以存储在一个w中?
我是 lua 和英语的新手,请原谅。
我想知道一些关于lua指定的想法和我的问题的解释。
【问题讨论】:
数组在概念上只是一系列键/值对。只是“键”都是整数,并且是从(在 Lua 的情况下)1 开始的整数序列。
Lua 认识到“字典”和“数组”实际上是一回事。它将这两个概念捆绑在一起成为一个类型:Lua 的“表”。
在 Lua 表中,键可以(几乎)是任何东西。包括整数。包括从 1 开始并递增的整数。因此,一个 Lua 表被称为有一个“数组部分”,它是从整数 1 到值不是nil 的最大整数的所有整数键。这就是取一张桌子的“长度”的意思。
【讨论】: