计算表中的未知变量

时间:2016-06-09 08:09:13

标签: variables lua count lua-table

我在这里遇到问题...如果我的表格中有很少的重复字符串结果。我想知道每个人的价值。 例如。一个函数返回一个未知的"字母"并且数量未知数量

Function () return Table end
Table ={'a','a','c','b','b','a',...}

我想得到这个。

table.a={'a','a','a'}
table.b={'b','b'}
table.c={'c'}
....
....

我不知道如何解决它......

1 个答案:

答案 0 :(得分:2)

编写一个函数,它创建这些东西的哈希映射:

function RepetitionCounter(tInput)
    local tCounter = {}
    for i, v in ipairs(tInput) do
        tCounter[v] = (tCounter[v] or 0) + 1
    end
    return tCounter
end

您将使用如下:

local tData = {'a','a','c','b','b','a',...}
local tCounts = RepetitionCounter(tData)

tCounts如下:

tCounts.a = 3
tCounts.b = 2
tCounts.c = 1

稍微修改上面的功能,即可获得所需的输出。替换以下行:

tCounter[v] = (tCounter[v] or 0) + 1

if not tCounter[v] then
    tCounter[v] = {}
else
    table.insert(tCounter[v], v)
end