Я пытаюсь сравнить две таблицы одинаковой длины с функцией, так как я не знаю другого способа сделать это.Тем не менее, с помощью следующей функции она не может зарегистрироваться, и я понятия не имею, почему.Я надеюсь, что кто-то может дать представление об этой проблеме или может лучше сравнить две таблицы.
Таблицы заполняются следующим кодом:
str = "parameters determined by program (all digits)"
tableone = {}
for word in str:gmatch("%d") do table.insert(tableone,word) end
Это идентично дляобе таблицы, кроме, конечно, имен отдельных таблиц.Таблицы заполняются правильно и отображаются правильно, когда я их печатаю.Вот две таблицы ради этого вопроса:
tableone = {}
tabletwo = {}
for i=1,4 do table.insert(tableone, i) end
for i=1,4 do table.insert(tabletwo, i) end
Очевидно, что эти две таблицы будут равны друг другу.Функция, которую я написал для сравнения таблиц индексов, выглядит следующим образом:
function comparetables(t1, t2)
matchct = 0
for i=1,#t1 do
if t1[i] == t2[i] then
matchct = matchct + 1
end
if matchct == #t1 then
return true
end
end
Я попытался выполнить
print(comparetables(tableone,tabletwo))
, чтобы посмотреть, будет ли напечатано «true», но не повезло.Мне кажется, это должно работать без проблем.Но это не так.Что мне не хватает?Я пытался найти что-то вроде функции table.compare, которую кто-то, возможно, уже написал, но мне не повезло найти такую.Спасибо за любые предложения!
Дополнительная информация:
Причина, по которой я сравниваю таблицы, заключается в игре типа mastermaind.Это означает, что следующие три правила должны применяться при сравнении таблиц.Функция, которую я создал, состояла в том, чтобы просто начать меня, думая, что я мог бы работать оттуда.
- При сравнении таблиц, если числа совпадают, Ccount увеличивается на 1.
- При сравнениитаблиц, если значение существует в другой позиции индекса, увеличьте Pcount на 1
Например, с таблицей значений {1, 3, 3, 4} и предположением {4, 4, 3, 1}, он вернет Pcount 2 (один 4 и 1) и Ccount 1 (три в третьей позиции).Я думаю, что одной из самых сложных частей будет сравнение, чтобы понять, что вторые 4 в предположении не должны увеличивать Pcount вообще.