SA-MP Forums Archive
[Tutorial] [TuT] Operaзгo ternбria - Mйdio - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+----- Forum: Lançamentos/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=56)
+----- Thread: [Tutorial] [TuT] Operaзгo ternбria - Mйdio (/showthread.php?tid=335491)



[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 (: