Funcion con parametros opcionales?

Started by gecko, April 06, 2011, 03:24:53 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

gecko

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]
Torres Baldi Studio
http://torresbaldi.com

Windgate

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.
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Drumpi

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).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

gecko

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.
Torres Baldi Studio
http://torresbaldi.com

SplinterGU

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...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Bueno, quería decir "print("texto")" y "print2("texto",1,0)" ^^U
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

gecko

Si, asi fue como lo solucione, con 2 funciones distintas. gracias!
Torres Baldi Studio
http://torresbaldi.com