[Tutorial] La funcion Break,Continue,Throw en pawn
#1

Buenas a todos y hoy vi una funcion en el lenguaje mathematica, ojo no dije matematica.

Una de estas es una estructura de control muy eficaz por ejemplo:

Cuando se hace un bucle y se quiere salir del bucle o una estructura de control.

Se usa Break

pawn Код:
for(new i = 0; i < MAX_PLAYERS; i++)
      {
            if(IsPlayerConnected(i))
            {
            if(EnClan[i] == EnClan[playerid])

Break();
La funcion Continue;


Este comando, incluido dentro de un bucle, salta al siguiente paso del mismo sin terminar el paso actual
La funcion Throw

Termina la ejecucion de todas las funciones que se esten evaluando y devuelve la expresion como resultado.

pawn Код:
for(new i = 0; i < MAX_PLAYERS; i++)
  {
            if(IsPlayerConnected(i))
            {
            if(EnClan[i] == EnClan[playerid])
}

throw;

 // En ves de return 1; se usaria Throw; їporque? Porque devuelve la expresion como resultado, si esto lo ponen en el sistema de clanes de infierno podran ver que si usan print, envie el resultado la expresion.
La diferencia entre los comandos Return y Throw se hace notable en las expresiones que tienen varias funciones compuestas en distintos niveles(condicionales dentro de bucles, etc)

Asi se sale de el bucle For. Hay mas funciones. Pero puede ser algo que le sirva a alguien.
Reply
#2

ahora lo agrego con los demas tutoriales.

PD: Te inspiro lo que hice con las barreras y eso? xq ahi use break; xD
Reply
#3

їPodrнas poner algunos ejemplos? utilizando print que es lo mбs rбpido y explicativo, sуlo es una sugerencia.

No sabнa la palabra clave throw, no la encontrй ni en el manual y no entendн tu explicaciуn . Las demбs sн las sabнa, las uso mucho.
Reply
#4

No sabia que existia Throw, igualmente, nunca tuve la necesidad de usar el Continue ni el Break. Igualmente tutorial util. Felicitaciones :P
Reply
#5

[break] Banear al primer jugador con el nъmero 15 o mayor:
pawn Код:
for(new i = 0; i < MAX_PLAYERS; i ++)
{
  if(i > 14)
  {
    Ban(playerid);
    break;
  }
}
[continue] Mostrar todos lo jugadores que no sean administradores:
pawn Код:
for(new i = 0; i < MAX_PLAYERS; i ++)
{
  if(IsPlayerAdmin(i)) continue;
 
  new name[24];

   GetPlayerName(i, name, 24);
   printf("[ID:%d]: %s.", i, name);
}
Reply
#6

Cielo no entiendo pero Gracias xD!!!
Reply
#7

Quote:
Originally Posted by the_chaoz
ahora lo agrego con los demas tutoriales.

PD: Te inspiro lo que hice con las barreras y eso? xq ahi use break; xD
Si un poco xD, ahora agrego ejemplos de Throw.
Reply
#8

Код:
error 017: undefined symbol "throw"
Se pone azul la palabra como si existiera, pero parece que no funciona en pawn.
Reply
#9

Quote:
Originally Posted by Infierno
Код:
error 017: undefined symbol "throw"
Se pone azul la palabra como si existiera, pero parece que no funciona en pawn.
Es raro a mi me funciona perfecto, ademas es una funcion nativa de C. Deberia de funcionar en pawn
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)