【发布时间】:2014-12-23 19:20:28
【问题描述】:
给定一个具有混合索引的表,例如:
table = {
foo = 'bar'
[1] = 'foobar'
}
我的问题是关于 # 的问题,它给出了最后一个索引,该索引在遍历表时没有通过间隙分开。
print(#table)
将给出输出1。
table = {
foo = 'bar',
lol = 'rofl',
[1] = 'some',
[2] = 'thing',
[3] = 'anything',
[4] = 'else'
}
print(#table)
应该打印 4
我能否 100% 确定 # 永远不会被非数字索引分心?
这些索引真的每次都被忽视了吗?
【问题讨论】:
-
虽然很容易理解你的意思,但最好让你的示例代码可编译。像
4 = else这样的表构造函数显然是非法的。 -
好的,完成。打字时没注意到。
-
请允许我编辑您的代码,这不仅仅是
else成为关键字。[4] = 'else'看起来不太清晰,不像更常见的语法糖,但它是合法的。