【问题标题】:Count unknown variables from a table从表中计算未知变量
【发布时间】:2016-10-09 18:27:48
【问题描述】:

我有一个问题...如果我有一个表中很少有重复的字符串结果。我想知道价值是每个的数量。 例如。一个函数返回一个未知的“字母”,数量未知

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

我想得到这个。

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

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

【问题讨论】:

  • 对不起我的英语!

标签: variables lua count lua-table


【解决方案1】:

编写一个函数,创建这些事物的哈希映射:

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

【讨论】:

  • 不应该 "tCounter[v] = (tCounter[v] and tCounter[v] + 1) or 0" 是 "tCounter[v] = (tCounter[v] or 0) + 1 “?
  • @tonypdmtr 谢谢!更新。 =)
猜你喜欢
  • 2017-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-11
  • 1970-01-01
  • 2016-01-05
相关资源
最近更新 更多