我有将两个表的条目相互比较并将具有相同值的条目放入第三个表的代码:
for i = 1, #hand do
for j = i+1, #hand do
if( hand[i].number == hand[j].number ) then
if not done[i] then
done[i] = true;
table.insert(cards, hand[i]);
end
if not done[j] then
done[j] = true;
table.insert(cards, hand[j]);
end
end
end
end
我遇到的问题是它会添加至少一个不同的其他条目。我检查了打印件,我注意到的一件事是,至少在一种情况下,它添加的附加条目是单独的倍数。即,如果要检查的值是 6、6、10、10,我希望前 2 个条目被插入到第三个表中,而不是最后两个。如何设置此代码以防止将来发生这种情况?谢谢。
编辑: done 是在 for 循环之外创建的本地表。此代码的目的是每次只查找表“hand”中的最低倍数,其中“hand”按数字从低到高排序。