我试图比较我创建的两张牌桌。 第一个表总是新的,其中有两个或三个项目。
表格如下:
existingMTable = {}
local mTable = {}
local user = "me"
local function setupTable()
local e = {}
for i = 0, #totalusers do
e.secSinceMyEvent = GetTimeSinceEvent(i)
e.timestamp = GetTimeStamp(i)
e.seller = GetUserNames(i)
of e.seller = "me" then
table.insert(mTable, e)
valueExists(mTable, e.timestamp)
end
end
local function valueExists(tbl, value)
for k,v in pairs(tbl) do
if value ~= v then
table.insert(existingMTable.History, value)
print("value" .. value)
print("v" .. v)
print(existingMTable.History.timestamp)
end
end
return false
end
我过滤掉了很多人,我只想要1个用户的项目。 一旦我有几件商品,我想将其添加到他的销售历史中。
我需要将3个以上的新项目与他当前的表格进行比较吗?我相信时间戳。
答案 0 :(得分:1)
你正在做的事情没有意义,因为valueExists
的第二个参数是timestamp
,它变为"值"在valueExists
中,但在此功能中将是" e"类型项目。如果我按照你调用它的方式重命名并更改一些名称以使其保持一致,那么你会有类似的东西:
local function valueExists(tbl, timestamp)
for k,e in ipairs(tbl) do
if timestamp ~= e.timestamp then
table.insert(existingMTable.History, e)
print("value" .. timestamp)
print("e.timestamp" .. e.timestamp)
#print(existingMTable.History.timestamp) -- WRONG because you inserted an e two lines above here
end
end
return false
end
现在你可以看到上面的内容没有意义:
看一下上面的内容:你在这个valueExists函数中实际尝试做什么?