20cm 70 Postado Janeiro 17, 2013 Share Postado Janeiro 17, 2013 (editado) O que ela faz é comparar duas matrizes unidimensionais [vlw lf], e retornar true caso os valores forem iguais Bom, há um tempo eu já ia fazer essa função, ela não é difícil, mas eu ia fazer ela com um for in pairs e comparando cada valor e tal. Mas eu resolvi entrar na onda de deixar os scripts o mais curto possível, fugindo da POG, e disso: function isArrayEquals(a,b) for x,i in pairs(a) do if i ~= b[x] then return false end end return true end Foi pra isso: function isArrayEquals(a,b) return table.concat(a) == table.concat(b) end Exemplo: local array1 = {1,2,3,4,0} local array2 = {1,2,3,4,0} print(tostring(compair(array1,array2))) No caso ia printar true, mas, se qualquer valor do array2 fosse diferente do array1 (na mesma posição) printaria false Numa rápida pesquisa no google não achei a função aqui, mas espero que eu tenha conseguido deixar o menor possível xD Espero que seja útil, pelo menos pra mim vai ser, comparar vetores é daora mano Editado Janeiro 17, 2013 por 20cm Link para o comentário https://xtibia.com/forum/topic/204594-isarrayequalsab/ Compartilhar em outros sites More sharing options...
Slicer 1070 Postado Janeiro 17, 2013 Share Postado Janeiro 17, 2013 eita mano as 2 formas de comparaçao ficaram muito bem feitas kkk nunca ia pensar nessa segunda ae... vlw por disponibilizar ^^ Link para o comentário https://xtibia.com/forum/topic/204594-isarrayequalsab/#findComment-1441300 Compartilhar em outros sites More sharing options...
Vinc 101 Postado Janeiro 17, 2013 Share Postado Janeiro 17, 2013 (editado) a segunda n funciona se o index n for continuo(concat so pega a parte que é em seguencia (1,2,3...)) ex: {['a'] = 2,1} {1, [3] = 1} seriam iguais a primeira se b tiver outro elemento que n contenha em a ainda sim vai ser considerado igual,então é melhor vc usar recursividade invertendo a por b(ou outro metodo) ex: {1} e {1,2} seria considerado igual ficando assim function isArrayEquals(a,b,recheck) for x,i in pairs(a) do if i ~= b[x] then return false end end if not recheck then return isArrayEquals(b,a,true) else return true end end Editado Janeiro 17, 2013 por lordbug99 Link para o comentário https://xtibia.com/forum/topic/204594-isarrayequalsab/#findComment-1441430 Compartilhar em outros sites More sharing options...
Slicer 1070 Postado Janeiro 17, 2013 Share Postado Janeiro 17, 2013 achu q vc n leu oq ele flo.. 'O que ela faz é comparar duas matrizes unidimensionais' Link para o comentário https://xtibia.com/forum/topic/204594-isarrayequalsab/#findComment-1441441 Compartilhar em outros sites More sharing options...
AlexandreKG 134 Postado Janeiro 17, 2013 Share Postado Janeiro 17, 2013 Bela função obrigado por disponibilizar. Apesar de eu só ter entendido um pouco pra q server,vou dar uma relida para entender melhor. xD Link para o comentário https://xtibia.com/forum/topic/204594-isarrayequalsab/#findComment-1441457 Compartilhar em outros sites More sharing options...
20cm 70 Postado Janeiro 17, 2013 Autor Share Postado Janeiro 17, 2013 Na verdade é mesmo só para unidimensionais, mas ele deixou mais completinho... Acho que ficou melhor mesmo, ele compara todo o tipo que eu testei... Parabéns. Link para o comentário https://xtibia.com/forum/topic/204594-isarrayequalsab/#findComment-1441463 Compartilhar em outros sites More sharing options...
Vinc 101 Postado Janeiro 17, 2013 Share Postado Janeiro 17, 2013 (editado) achu q vc n leu oq ele flo.. 'O que ela faz é comparar duas matrizes unidimensionais' se n sabe n fala { ["a"] = 1} é unidimensional multi seria {{1,2},{4,}} Editado Janeiro 17, 2013 por lordbug99 Link para o comentário https://xtibia.com/forum/topic/204594-isarrayequalsab/#findComment-1441475 Compartilhar em outros sites More sharing options...
20cm 70 Postado Janeiro 17, 2013 Autor Share Postado Janeiro 17, 2013 ok, você "venceu", agora relaxa mano '-' Link para o comentário https://xtibia.com/forum/topic/204594-isarrayequalsab/#findComment-1441481 Compartilhar em outros sites More sharing options...
Vinc 101 Postado Janeiro 17, 2013 Share Postado Janeiro 17, 2013 (editado) n cara to falando como slicer,to de boa, é que esse Slicer vem me critica sem nem sabe o que uma matris unidimensional essa que editei so coloquei uma recursividade,e ela ainda n server para mutidimensinais,cuntinua sendo para unidimesionais -edit- se fosse pra competi com alguem ia no duelos kkk é so critica construtiva Editado Janeiro 17, 2013 por lordbug99 Link para o comentário https://xtibia.com/forum/topic/204594-isarrayequalsab/#findComment-1441483 Compartilhar em outros sites More sharing options...
Posts Recomendados