[TuT] Operaзгo ternбria - Mйdio -
zSuYaNw - 18.04.2012
Operaзгo Ternбria
WARNING: Antes de vocк ler este tutorial, terб que saber oque й uma
Variбvel
Introduзгo:
Hoje irei falar sobre os operadores ternбrios.
Os operadores ternбrios sгo um tipo de operaзгo que
envolve uma condiзгo e mais duas operaзхes, exemplo:
Код:
<condiзгo> ? <operaзгo_1> : <operaзгo_2>
Explicaзгo (By Wiki)
Na matemбtica, uma operaзгo ternбria ou 3-бria й uma operaзгo com trкs operandos.
Uma operaзгo ternбria й uma funзгo com trкs variбveis de entrada.
Exemplos de Scripting:
Vou mostrar um exemplo em php:
PHP код:
$contas = 30;
$return = -1;
if($Contas == 30)
{
$return 1;
}
else
{
$return 0;
}
echo "Return: ".$return;
o cуdigo acima eu estou mostrando um exemplo de uso normal.
agora mostrarei do uso operador ternбrio:
pawn Код:
$contas = 30;
$return = $contas == 30 ? 1 : 0;
echo "Return: ".$return;
Agora em Pawn:
Modo INCORRETO: -
pawn Код:
new MinhAvariavel;
public OnFilterScriptInit()
{
new string[100];
if(MinhAvariavel)
{
string = "Verdadeira";
}
else
{
string = "Falsa";
}
printf("Minha variбvel й %s", string);
return 1;
}
- Esta pequeno cуdigo imprime o estado de uma variбvel.
Modo Correto: -
pawn Код:
new MinhAvariavel;
public OnFilterScriptInit()
{
printf("|MinhaVariavel й %s", MinhAvariavel ? ("Verdadeiro") : ("Falso"));
return true;
}
Funзхes:
Com os operadores ternбrios й possнvel criar funзхes tambйm,
tanto que MACRO e STOCK.
Exemplo:
- Stock (funзгo)
pawn Код:
stock Estado()
{
return MinhAvariavel ? true : false;
}
- Macros (funзгo)
pawn Код:
#define Estado() MinhAvariavel ? (true) : (false)
Neste trecho do cуdigo, Caso a variбvel "MinhAvariavel" seja 1 ( true ) ela seta para true,
caso tenha o valor 0(false) seta para false.
Podendo se usar assim:
pawn Код:
if(Estado()) print("Verdadeiro");
else print("Falso");
Explicaзгo:
Como vocк pode ver nos tutoriais acima, o operador ternбrio й muito fбcil de utilizar.
como jб dito nos exemplos acima, os operadores returnгo 2 valores
o "verdedeiro" eo "Falso".
Tambйm pode se returnar funзхes do tipo:
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext,"/kickme", true))
{
return IsPlayerAdmin(playerid) ? true : (SendClientMessage(playerid, -1, "Vocк foi Kickado"), Kick(playerid), true);
}
return 0;
}
Quando o player digitar /kickme, caso ele for admin logado na rcon nгo faz nada, mais caso nгo estiver logad
ele kicka o player.
No cуdigo acima vocк notou que foi adicionado os Parкnteses "()" eles servem para returnar um valor crъ,
jб processado.
Resumo:
Bom, os operadores ternбrios consiste em optimizar seu cуdigo.
Porque quando precisamos imprimir o estado de uma array/variбvel os operadores
ternбrios consiste em facilitar sua vida.
Crйditos:
- Garfield (iSuYaNw).
Por favor, nгo poste em qualquer local de comunicaзгo sem meu consentimento, coloque meus crйditos.
Re: [TuT] Operaзгo ternбria - Mйdio -
dPlaYer_ - 18.04.2012
Boa garfild !
bom tutorial xD
Re: [TuT] Operaзгo ternбria - Mйdio -
ViniBorn - 18.04.2012
Bem explicado : )
Re: [TuT] Operaзгo ternбria - Mйdio -
RebeloX - 18.04.2012
Estб certo garifeld, isto farб com que os nossos cуdigos fiquem mais limpos mas confusos para os leitores, mas lembrando que assim pouparнamos mais linhas o que tornara o nosso script mais rбpido na execuзгo, gostei do seu tutorial mas acho que muita pouca gente vai usar a sua lуgica...
Re: [TuT] Operaзгo ternбria - Mйdio -
Kuddy - 18.04.2012
o.O
Muito bom Garfield, nгo sabia disso!
Re: [TuT] Operaзгo ternбria - Mйdio -
paulor - 18.04.2012
Muito bom cara. Bem explicado!
Re: [TuT] Operaзгo ternбria - Mйdio -
zSuYaNw - 18.04.2012
Quote:
Originally Posted by [LF]PlaYer
Boa garfild !
bom tutorial xD
|
Thanks,
Quote:
Originally Posted by Viniborn
Bem explicado : )
|
Varйu
Quote:
Originally Posted by BlueX
Estб certo garifeld, isto farб com que os nossos cуdigos fiquem mais limpos mas confusos para os leitores, mas lembrando que assim pouparнamos mais linhas o que tornara o nosso script mais rбpido na execuзгo, gostei do seu tutorial mas acho que muita pouca gente vai usar a sua lуgica...
|
Sim, os operadores ternбrios sгo usados para optimizar seu cуdigo e diminuir linhas,
como muitos programadores novatos acham que quanto mais linha, mais foda й o cуdigo.
isto й errado. eu penso assim, quanto menos linhas mais foda й o cуdigo.
Quote:
Originally Posted by dMagnus
o.O
Muito bom Garfield, nгo sabia disso!
|
Quote:
Originally Posted by paulor
Muito bom cara. Bem explicado!
|
Varйu.
Respuesta: [TuT] Operaзгo ternбria - Mйdio -
[NVC]iTrevaS - 18.04.2012
Bom tuto .
Re: [TuT] Operaзгo ternбria - Mйdio -
Dolby - 18.04.2012
Bom Tutorial Garfield,Operador Ternбrio e Booleans sгo uma boa escolha em questгo de facilidade.
Re: [TuT] Operaзгo ternбria - Mйdio -
RebeloX - 18.04.2012
Quote:
Originally Posted by [Full]Garfield[XDB]
Sim, os operadores ternбrios sгo usados para optimizar seu cуdigo e diminuir linhas,
como muitos programadores novatos acham que quanto mais linha, mais foda й o cуdigo.
isto й errado. eu penso assim, quanto menos linhas mais foda й o cуdigo.
|
Sim, os meus cуdigos sгo mais otimizados o possнvel, pois como lуgico que o amx nгo irб suportar mais de 100mil linhas, eu acho nunca fiz nenhum teste concreto mas 100mil linhas й muito o que torna o amx lento e as vezes tem coisas que sгo inъteis e cуdigos desorganizados o que tornara o seu cуdigo muito mau, mas enfim como eu disse muitos dos novatos dirгo "Bom tutorial" mas serб raro alguйm usar na pratica, seria interessante alguйm colocar duvidas e demostrar o seu interesse й como meus professores dizem, eles falam para nуs nгo termos medos de colocar duvidas pois ninguйm й perfeito, ninguйm nasce ensinado como lуgico... Eu irei tentar fazer cуdigos como vocк fez serб complicado, mas eu irei tentar (: