muitos me xingaram quando eu escrevia ".lua" abç
- Fórum
- OTServ
- Suporte
- Resolvidos
- Mistérios do .Lua...
4
800
info
Grupo: Banidos
Registrado: 21/01/12
Posts: 842
Reputação: +234
Char no Tibia: Stephan

07 de dezembro de 2013 às 07:43
info
Grupo: Infante
Registrado: 22/12/12
Posts: 2k
Reputação: +736
Gênero: Masculino
Char no Tibia: Marley

07 de dezembro de 2013 às 21:48
caralho
boiei
info
Grupo: Conde
Registrado: 30/10/11
Posts: 625
Reputação: +101
Gênero: Masculino

09 de dezembro de 2013 às 16:15
n tem nenhum bug...
pairs e ipairs retornam index(no caso k),valor(no caso v), alem é claro da função iteradora
o segundo retorna no "else" porque o index é a string "number2" , que n é igual a string "number1"
lembrado que
table ={number1 = 1}
é mesma coisa que
table = {["number1"] = 1}
Editado Dezembro 9 por lordbug99



info
Grupo: Conde
Registrado: 14/02/13
Posts: 702
Reputação: +196
Gênero: Masculino
Alguns ja devem ter percebido porem não entendido, Mas este pequeno exemplo pode ser considerado um bug da linguagem .lua.
o output desse script é :
Isso ocorre porque ao invez de mudar automaticamente o valor de "k" para seu correspondente na tabela, ele primeiro retorna "k" com um valor real e compara com "number1" retornando falso e entrando dentro do if, e depois ele entra dentro da tabela atribui o devido valor ao "k" e retorna true, porque dentro da tabela existe um correspondente ao "number1"...
Esse bug pode confundir usuários da linguagem sem experiencia, e deixar uma duvida enorme do porque ele funciona / da erro ao mesmo tempo...
Editado Dezembro 7 por BananaFight