Модуль:Entity Sprite/all: различия между версиями
Pok (обсуждение | вклад) Нет описания правки |
Pok (обсуждение | вклад) Нет описания правки |
||
| Строка 13: | Строка 13: | ||
if type(t1) ~= "table" or type(t2) ~= "table" then return false end | if type(t1) ~= "table" or type(t2) ~= "table" then return false end | ||
local function isArray(t) | local function isArray(t) | ||
for | local count = 0 | ||
if type( | for k in pairs(t) do | ||
if type(k) ~= "number" then return false end | |||
count = count + 1 | |||
end | end | ||
return | return count == #t | ||
end | end | ||
if isArray(t1) and isArray(t2) then | if isArray(t1) and isArray(t2) then | ||
if #t1 ~= #t2 then return false end | if #t1 ~= #t2 then return false end | ||
for i = 1, #t1 do | |||
if not deepEqual(t1[i], t2[i]) then | |||
return false | |||
end | end | ||
end | end | ||
return true | return true | ||
end | end | ||
for k, v in pairs(t1) do | for k, v in pairs(t1) do | ||
if not deepEqual(v, t2[k]) then | if t2[k] == nil or not deepEqual(v, t2[k]) then | ||
return false | return false | ||
end | end | ||
| Строка 46: | Строка 39: | ||
for k, v in pairs(t2) do | for k, v in pairs(t2) do | ||
if not deepEqual(v, t1[k]) then | if t1[k] == nil or not deepEqual(v, t1[k]) then | ||
return false | return false | ||
end | end | ||