gpt4 book ai didi

data-structures - 如何在 Lua 中创建 HashMap 的等价物

转载 作者:IT王子 更新时间:2023-10-29 06:04:39 26 4
gpt4 key购买 nike

我希望在 lua 中有一个类似于 Java HashMap 等价物的简单数据结构。

这样做的目的是我希望维护映射到一组不断更新的两个值的唯一键“userID”,例如;

'77777', {254, 24992}

关于如何实现这一点有什么建议吗?


-- Individual Aggregations
local dictionary = ?

-- Other Vars
local sumCount = 0
local sumSize = 0
local matches = redis.call(KEYS, query)

for _,key in ipairs(matches) do
local val = redis.call(GET, key)
local count, size = val:match(([^:]+):([^:]+))

topUsers(string.sub(key, 11, 15), sumCount, sumSize)

-- Global Count and Size for the Query
sumCount = sumCount + tonumber(count)
sumSize = sumSize + tonumber(size)
end

local result = string.format(%s:%s, sumCount, sumSize)
return result;

-- Users Total Data Aggregations
function topUsers()
-- Do sums for each user
end

最佳答案

假设字典就是你要问的:

local dictionary = {
['77777'] = {254, 24992},
['88888'] = {253, 24991},
['99999'] = {252, 24990},
}

棘手的部分是键是一个不能转换为 Lua 变量名的字符串,因此您必须用 [] 将每个键括起来。我在 Lua 5.1 reference manual 中找不到对此规则的明确描述。 ,但是 Lua wiki表示如果键“由下划线、字母和数字组成,但不以数字开头”,则仅当以上述方式定义时才不需要 [] ,否则方 block 括号是必需的。

关于data-structures - 如何在 Lua 中创建 HashMap<Int, Int[]> 的等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21881869/

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