#define _:%0,) _:%0) їComo funciona?
#3

Ese cуdigo se aplica, o no, en funciуn de los parбmetros especificados en la funciуn.

La base es la siguiente:
PHP код:
#define _:%0,) _:%0)
#define MY_FUNC<%0>(%1) my_func_%0(_:param, %1) 
A partir de ahн, pueden ocurrir varias cosas en funciуn de los parбmetros que ponemos en MY_FUNC. Por ejemplo:
PHP код:
MY_FUNC<mensaje>(colorplayerid)
{
    
SendClientMessage(playerid, -1"Ejemplo bбsico.");
    return 
1;
}
/* El macro convierte lo anterior en lo siguiente: */
my_func_mensaje(_:paramcolorplayerid)
{
    
SendClientMessage(playeridcolor"Ejemplo bбsico.");
    return 
1;

Lo anterior en un principio estб bien, no deberнa generar ningъn error. Imagнnate que creamos otra funciуn sin especificar ningъn parбmetro:
PHP код:
MY_FUNC<mensaje>()
{
    
SendClientMessageToAll(-1"Ejemplo bбsico.");
    return 
1;
}
/* El macro convierte lo anterior en lo siguiente: */
my_func_mensaje(_:param, )
{
    
SendClientMessageToAll(-1"Ejemplo bбsico.");
    return 
1;
}
/*
Al no especificar parбmetros obtenemos lo siguiente: "(_:param, )".
Curiosamente eso cumple el formato del primer macro: "_:%0,)" - donde "%0" es "param".
Gracias al primer macro la coma se elimina y obtenemos: "_:param)". Obteniendo asн una funciуn vбlida:
*/
my_func_mensaje(_:param)
{
    
SendClientMessageToAll(-1"Ejemplo bбsico.");
    return 
1;

Bбsicamente nos sirve para evitar obtener un error a la hora de compilar en caso de no especificar parбmetros.
Reply


Messages In This Thread
#define _:%0,) _:%0) їComo funciona? - by Arthurillo - 02.01.2017, 14:33
Re: #define _:%0,) _:%0) їComo funciona? - by Swedky - 02.01.2017, 14:44
Respuesta: #define _:%0,) _:%0) їComo funciona? - by RIDE2DAY - 04.01.2017, 19:04

Forum Jump:


Users browsing this thread: 2 Guest(s)