gpt4 book ai didi

lua - 如何在Lua中对数字表求和?

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

Lua 是否有内置 sum()功能?我似乎找不到,而且我在文档中几乎到处都看过。也许 table.sum()或类似的东西,以遵循当前的约定。但由于找不到,只好实现:

function sum(t)
local sum = 0
for k,v in pairs(t) do
sum = sum + v
end

return sum
end

不过,必须实现这么简单的东西似乎有点有趣。是否存在内置函数?

最佳答案

我不同意,拥有像 table.sum 这样原始和具体的东西是多余的。在标准库中。
实现 table.reduce 会更有用沿着以下路线:

table.reduce = function (list, fn, init)
local acc = init
for k, v in ipairs(list) do
if 1 == k and not init then
acc = v
else
acc = fn(acc, v)
end
end
return acc
end
并将它与一个简单的 lambda 一起使用:
table.reduce(
{1, 2, 3},
function (a, b)
return a + b
end
)
reduce的示例实现缺乏类型检查,但你应该明白。

关于lua - 如何在Lua中对数字表求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8695378/

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