gpt4 book ai didi

lua - 我在 lua 中使用这些表的效率如何?

转载 作者:行者123 更新时间:2023-12-04 20:26:24 24 4
gpt4 key购买 nike

所以我一直在编写一些 Lua 脚本,当使用表时,我想制作类似于“节点”或“类”的东西

local playerInfo = {} 
if player then
local newPlayer = {NAME = name, HP = 10, DMG = 4}
table.insert(playerInfo, newPlayer)
end

for k, v in pairs(playerInfo) do
print(v.NAME)
end

这只是我正在做的一个例子,但是可以访问这样的信息吗?或者有没有更有效的方法?

最佳答案

在谈论效率时,必须区分代码维护和性能。在 Lua 中,就像在大多数语言中一样,这两点是分开的。

总是很容易使用pairs而不是 ipairs , 通过 table.insert 将元素附加到表中, 通过 .. 连接字符串等但是 这不是快速运行程序的方式。

每个 Lua 程序员都应该阅读的一份文档:Lua Performance Tips by Roberto Ierusalimschy

到您的代码:

  • 不要使用 table.insert ,自己管理表格大小和插入。
  • 你的表只有数组条目,所以使用 ipairs反而。
  • 避免无用的变量,尽可能就地构造(newPlayer)。
  • 使用_作为未使用变量名的占位符 (k)。

  • 对于 LuaJIT由于编译器部分的大量优化,还有一些其他规则,f.e. (i)pairs减速是不是少了很多。

    关于lua - 我在 lua 中使用这些表的效率如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31888918/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com