20cm 70 Postado Outubro 12, 2012 Share Postado Outubro 12, 2012 (editado) Bom, vocês já se depararam com um array assim: local array = { ["olá"] = 1, ["xtibia"] = 1, } E quiseram checar se uma string correspondia ao "olá" ou ao "xtibia"? Ou, se "olá" fosse "1" e "xtibia" fosse 2, ver se um número estava entre esses dois? Bom, eu já, e fiz uma função pra fazer isso. function isInArrayBrackets(array,thing) local a = 0 for x, i in pairs (array) do if thing == x then a = a + 1 end end if a > 0 then return true else return false end end O que ela faz? Ela quebra o array em x e i, sendo x a parte que fica entre colchetes e o i o que vem depois. Ela compara todos os x's e vê se ele é igual ao thing Se for, aumenta a variável a em 1, se não, não faz nada. No final, se a for maior que 0 (tiver achado algo igual), retorna true, se não, false. Por exemplo: local array = { ["olá"] = 1, ["xtibia"] = 2 } if isInArrayBrackets(array,"olá") then print("yes") else print("no") end Ali, vai retornar true, pois, "olá" está nos colchetes da array Se fosse Por exemplo: local array = { ["olá"] = 1, ["xtibia"] = 2 } if isInArrayBrackets(array,"megan fox gostosa pra caralho") then print("yes") else print("no") end Retornaria falso, pois "megan fox gostosa pra caralho" não está nem em ["olá"] nem em ["xtibia"] É isso galera, abraços Editado Outubro 13, 2012 por 20cm Link para o comentário https://xtibia.com/forum/topic/196375-isinarraybracketsarraything/ Compartilhar em outros sites More sharing options...
Oneshot 732 Postado Outubro 12, 2012 Share Postado Outubro 12, 2012 (editado) Bela iniciativa, Eitor, mas function banana(a, b) return a[b] ~= nil end Faz a mesma coisa que sua função sem precisar aumentar uma variável interna e tal. Editado Outubro 12, 2012 por Oneshot Link para o comentário https://xtibia.com/forum/topic/196375-isinarraybracketsarraything/#findComment-1362577 Compartilhar em outros sites More sharing options...
Demonbholder 420 Postado Outubro 12, 2012 Share Postado Outubro 12, 2012 Bela iniciativa, Eitor, mas function banana(a, b) return a[b] ~= nil end Faz a mesma coisa que sua função sem precisar aumentar uma variável interna e tal. entrei pra postar isso. Link para o comentário https://xtibia.com/forum/topic/196375-isinarraybracketsarraything/#findComment-1362580 Compartilhar em outros sites More sharing options...
20cm 70 Postado Outubro 13, 2012 Autor Share Postado Outubro 13, 2012 T_T fail grande então :\ Link para o comentário https://xtibia.com/forum/topic/196375-isinarraybracketsarraything/#findComment-1363056 Compartilhar em outros sites More sharing options...
caotic 393 Postado Outubro 15, 2012 Share Postado Outubro 15, 2012 (editado) Nem tanto foi mais uma função. Gostei de sua criticidade ao usar for na array. Função banana eu ri. Editado Outubro 15, 2012 por caotic Link para o comentário https://xtibia.com/forum/topic/196375-isinarraybracketsarraything/#findComment-1364541 Compartilhar em outros sites More sharing options...
Posts Recomendados