Как вызывать
Functions.collections.compareArray(lhs, rhs)
Запишите его как зависимость с именем Functions.collections.compareArray (принятие автодополнения делает это само) и вызывайте по этому имени.
Что делает
Обойти записи обеих таблиц и сравнить каждое значение со значением по тому же индексу в другой таблице через равенство Lua. Действуют обычная индексация и метаметоды равенства; вложенное содержимое рекурсивно не сравнивается.
Аргументы
| Имя | Тип | Что делает |
|---|---|---|
lhs | table | Первая сравниваемая таблица. |
rhs | table | Вторая сравниваемая таблица. |
Возвращает
| 1 | boolean | true, если каждая обойдённая запись равна в обоих направлениях. |
|---|
Издания
Встроенные помощники регистрируются во всех изданиях. Различается игровой API, который они читают; если нужного API нет, помощник использует запасной вариант или возвращает nil с причиной.
Не читает игровой API напрямую.
Пример
local wanted = { "Moonfire", "Sunfire" }
local applied = { "Moonfire", "Sunfire" }
return Functions.collections.compareArray(wanted, applied)Исходный код
Functions/collections.lua, строка 172. В игре только для чтения; «Дублировать» создаёт редактируемую копию.
Functions.collections.compareArray(lhs, rhs)
for k,v in pairs(lhs) do
if rhs[k] ~= v then
return false
end
end
for k,v in pairs(rhs) do
if lhs[k] ~= v then
return false
end
end
return true