Atribuiзгo de response a variбvel booleana nгo funciona -
Rodney Francalim - 15.09.2014
Entгo, tava fazendo algumas coisas por aqui e me dei conta de que se eu fizer isso no OnDialogResponse:
pawn Код:
new
bool:lol
;
lol = response;
Dб tag mismatch. Mas se eu fizer isso:
pawn Код:
new
bool:lol
;
lol = response ? (true) : (false);
Fica de boa.
Entгo a pergunta й: por quк?
Re: Atribuiзгo de response a variбvel booleana nгo funciona -
Dolby - 15.09.2014
Veja na definiзгo da callback.
pawn Код:
forward OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]);
O parвmetro й tratado como inteiro, nгo como
bool. Pawn й uma linguagem fortemente tipada, ou seja, o compilador nгo faz um type-casting implicitamente como em linguagens fracamente tipadas.
Podemos concluir que nгo podemos fazer:
Pois o compilador nгo faz o type-casting, logo devemos dar um valor igual ao declarado:
O operador ternбrio vai retornar
true ou
false, satisfazendo as normas da tipagem de dados da linguagem.
Espero que tenha compreendido, abraзos.
Re: Atribuiзгo de response a variбvel booleana nгo funciona -
PT - 15.09.2014
Porque voce so pode atribuir a uma
booleana o valor
true ou
false, como ali o response nao й
bool ( й
inteiro ) voce vai obter valores como 0 e 1 nao aceites como resposta a
booleana.
Re: Atribuiзгo de response a variбvel booleana nгo funciona -
Rodney Francalim - 15.09.2014
Ah! Achei que o response era booleana...
Valeu!