在 Lua 的 for 循环中 # 是用来干什么的?

我知道如何使用 for 循环,并且经常使用它们,但有时候会在别人的代码中遇到 #,我想知道它的作用以及如何使用它。一个示例是:

for i = 1, #npc do local v = npc[i]

我似乎在网上找不到任何关于这方面的信息,也许我的搜索不好,但如果有人能为我解释一下,谢谢。

点赞
用户5923139
用户5923139

在 Lua 中,# 是长度运算符。for i = 1, #npc 基本上是循环从 1 到 npc 数组的长度。

2020-05-15 00:29:02
用户7509065
用户7509065

正如已经指出的那样,这会获取列表的长度。但值得指出的另一件事是:那个 for 循环是不够高效和不够惯用的。最好将其改写为 for i, v in ipairs(npc) do。通常,在 for 循环中使用 # 几乎总是错误的。

2020-05-15 21:07:13