[Tutorial] El retorno en las funciones.
#1

El retorno en las funciones.


Bueno, en lo que investigo a fondo los temas del otro tutorial, aqui les dejo este que explica el famoso "return" en las funciones.

Primero que nada si mi traduccion no me falla "return" en espaсol significa: regresar o retornar.
Lo que hace "return" basicamente es regresar un valor de alguna funcion por ejemplo:

pawn Код:
stock Player(playerid)
{
    return playerid;
}
Al ser playerid, un valor entero (como si fuera 1, 5, 29, 5000) la funcion regresa ese mismo valor, otro ejemplo seria

pawn Код:
stock Randomz()
{
    new ab = random(100);
    return ab;
}
En esa funciуn nos regresarнa un valor al azar entre el 0 y el 100, por ejemplo si imprimimos ese numero la funcion seria asi

pawn Код:
// en alguna callback
    printf("%d - es el numero",Randomz);
Creo que ya nos quedo claro para que es el return, sirve para regresar un valor, por eso cuando en un comando, no ponemos el return 1, nos sale "unknown command", cuando regresamos un valor ahi (por lo general return 1 la callback esta identificando que si regreso un valor, mientras que si ponemos 0 (que equivaldria a la nada) le indica a la callback que no regreso ningun valor por lo que nos daria ese error.

No unicamente sirve para regresar numeros enteros, como muchos saben hay funciones de este tipo
pawn Код:
stock GetPlayerNameEx(playerid)
{
    new name[24];
    GetPlayerName(playerid,name,24);
    return name;
}
Esa funcion regresa el nombre de un jugado, su funcionamiento cuando es llamada, es solo formatear el nombre en una cadena de texto y regresar este valor con return, por eso pueden obtener el nombre y formatearlo otra vez.

return, puede regresar cadenas de texto (ya formateadas, no estoy seguro si puede regresar alguna sin formatear), numeros enteros, numeros flotantes, hasta puede regresar otras funciones, por ejemplo:

pawn Код:
stock ReturnPlayerMusic(playerid);
{
    return PlayerPlaySound(playerid,1225,0.0,0.0,0.0);
}
El funcionamiento de esa funcion es regresar el valor de la funcion que tiene, para que quede mas claro lo explicare asi:

- Se llama a la funcion
- Se regresa el valor de la funcion PlayerPlaySound
- Si la funcion PlayerPlaySound nos regresa algun valor, este valor lo tendra la funcion ReturnPlayerMusic, si no nos regresa un valor (osea nos regresa cero), tampoco tendra valor ReturnPlayerMusic.
- Si la funcion PlayerPlaySound, no retorna nada (ni uno ni cero, osea no tiene return) el compilador advertira que esta funcion podria no regresar valor.

El uso del return es primordial, todas las callbacks por default regresan algun valor especifico (ya sea 1 o 0), aun que estos valores no siempre deben ser los mismos, el return puede regresar en una funcion un valor 3, 5, 99999

Si algo me falto en el tema, comenten y con gusto lo pondre, cualquier duda tambien sera respondida.
Reply
#2

Muy bien explicado + rep
Reply
#3

La verdad es que playerid tiene un limite de retorno (a lo que a mi concierne) 1000 o por defecto 500.

pero 5000 es mucho por lo menos para playerid :3

Bueno tutorial te felicito sigue asн
Reply
#4

Igualmente las funciones no siempre retornan un valor, en la wiki en muchas funciones dice:
'Returns This function doesn't return a specific value.'
Por ejemplo en SetPlayerHealth, esto ocurre porque al momento de declarar la funciуn dentro del programa la declararon como 'void' osea que no retornarб ningъn valor. Igualmente no sй si esto es aplicable a PAWN. Lo agrego para saber nada mбs, muy buen tutorial.
Reply
#5

Quote:
Originally Posted by JustBored
Посмотреть сообщение
Igualmente las funciones no siempre retornan un valor, en la wiki en muchas funciones dice:
'Returns This function doesn't return a specific value.'
Por ejemplo en SetPlayerHealth, esto ocurre porque al momento de declarar la funciуn dentro del programa la declararon como 'void' osea que no retornarб ningъn valor. Igualmente no sй si esto es aplicable a PAWN. Lo agrego para saber nada mбs, muy buen tutorial.
Retornan 0.
Reply
#6

Muy bien explicado, tiempo y dedicaciуn, buen tutorial!!
Reply
#7

buen tuto me lo descargue saludos
Reply
#8

Quote:
Originally Posted by JaimitoxD
Посмотреть сообщение
buen tuto me lo descargue saludos
pero si no hay nada que descargar O.O
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)