[Tutorial] [TuT] Operaзгo ternбria - Mйdio
#1

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.
Reply
#2

Boa garfild !


bom tutorial xD
Reply
#3

Bem explicado : )
Reply
#4

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...
Reply
#5

o.O

Muito bom Garfield, nгo sabia disso!
Reply
#6

Muito bom cara. Bem explicado!
Reply
#7

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.
Reply
#8

Bom tuto .
Reply
#9

Bom Tutorial Garfield,Operador Ternбrio e Booleans sгo uma boa escolha em questгo de facilidade.
Reply
#10

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


Forum Jump:


Users browsing this thread: 1 Guest(s)