Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: gecko on April 06, 2011, 03:24:53 AM

Title: Funcion con parametros opcionales?
Post by: gecko on April 06, 2011, 03:24:53 AM
Se puede?

tengo una funcion [code language="bennu" options="singleline"]print()[/code] que me gustaria reciba el primer parametro obligatoriamente, pero tenga opcion de recibir 1 o 2 parametros mas.


algo que me deje hacer y compilar
[code language="bennu"]
print("texto");
print("texto", 1);
print("texto", 0, 1);[/code]
Title: Re: Funcion con parametros opcionales?
Post by: Windgate on April 06, 2011, 05:21:51 AM
Si está implementada en una dll sí, pero declarada en Bennu no se permite por el momento, a no ser que hagas algún #define, pero eso último nunca lo he probado para conseguir sobrecarga, puedes intentarlo mientras nos lo aclaran mejor.
Title: Re: Funcion con parametros opcionales?
Post by: Drumpi on April 07, 2011, 06:45:37 PM
Poder se puede, pero no de la manera tradicional:

-Puedes crear funciones específicas que vayan llamando a las genéricas (po rejemplo, que "print("texto")" llame a "print("texto",0,1)" o con las opciones por defecto.

-Puedes enviar una cadena de texto y después separar los "parámetros" usando la función SPLIT (está en mod_regex) o una que te crees tú mismo.

-Envía la string y un puntero, con NULL si no quieres parámetros, o con una inicialización (es lo que hago en la ventana de abrir/guardar para pasarle la lista de extensiones para el filtro de ficheros).
Title: Re: Funcion con parametros opcionales?
Post by: gecko on April 07, 2011, 07:18:27 PM
Gracias!

Si, la primera idea que comentaste drumpi era la que se me habia ocurrido, lo de funciones llamando a funciones... creo que es como lo voy a hacer.
Title: Re: Funcion con parametros opcionales?
Post by: SplinterGU on April 07, 2011, 09:42:26 PM
no es posible tener 2 funciones con el mismo nombre y con diferente cantidad de parametros...

eso de print("texto") que llame a print("texto",0,1) no va a funcionar...
Title: Re: Funcion con parametros opcionales?
Post by: Drumpi on April 07, 2011, 10:23:52 PM
Bueno, quería decir "print("texto")" y "print2("texto",1,0)" ^^U
Title: Re: Funcion con parametros opcionales?
Post by: SplinterGU on April 08, 2011, 12:28:43 AM
eso si
Title: Re: Funcion con parametros opcionales?
Post by: gecko on April 08, 2011, 01:17:35 AM
Si, asi fue como lo solucione, con 2 funciones distintas. gracias!