Ramza 11 #1 Posted September 8, 2011 (edited) Fala galera! Vim aqui postar uma funçãozinha que vai ser muito útil pra muita gente que sofre tentando comparar tabelas, incluindo posições, etc. Essa funçãozinha minha compara tabelas, tabelas dentro de tabelas, strings, numeros, etc. Instalação Apenas cole isto em alguma lib sua ou no final do arquivo constant.lua que fica geralmente na pasta data/lib do seu servidor. Identação feita pelo IuniX noob KKK function table.compare(table1, table2) -- Function by Ramza(Ricardo Ianelli) local count = 0 for _,v in pairs(table1) do for j,k in pairs(table2) do if type(v) == 'table' and type(k) == 'table' then count = count + table.compare(v,k) else if v == k then count = count + 1 break end end end end return count == #table1 and 1 or 0 end Identação minha function table.compare(table1, table2) -- Function by Ramza(Ricardo Ianelli) local count = 0 for _,v in pairs(table1) do for j,k in pairs(table2) do if type(v) == 'table' and type(k) == 'table' then count = count + table.compare(v,k) else if v == k then count = count + 1 break end end end end return count == #table1 and 1 or 0 end Espero que seja útil, abraços, Ramza. Edited September 8, 2011 by Ramza Share this post Link to post
iuniX 4 #2 Posted September 8, 2011 É, eu tava precisando e com preguicinha de fazer. Obrigado pela contribuição. Eu reindentei o código. Bem feito como sempre. Aprovado e movido. Share this post Link to post
Ramza 11 #3 Posted September 8, 2011 Obrigado, deixei as 2 identações pq a sua tá mto feia (falo mesmo) KKKKKKKKKKKKK LOL Share this post Link to post
iuniX 4 #5 Posted September 8, 2011 pra q serve essa? Comparar tabelas, exemplo: local tabela1 = {1,2,3} local tabela2 = {3,2,1} if table.compare(tabela1,tabela2) then print"iguais" else print"diferentes" end Share this post Link to post