Comunidad de diseño web y desarrollo en internet online

¿AS3 -> Se puede enviar un metodo atravez de otro?

Citar            
MensajeEscrito el 25 Feb 2011 08:47 pm
Holas, se puede enviar una funcion atravez de otra sin que se ejecute? Necesito enviar una funcion con parametros atravez de otra.. pero se ejecuta si coloco parenticis!

Código ActionScript :

public function main():void
{
fntEnviar(normal("Hey") ); //se ejecuta en tiempo de ejeccucion,
                           //pero si lo envio sin ().. no pasa nada... 
                           //Ocupo que no se ejecute...
}
public function fntEnviar( myFunc:Function = null ):void
{ //Codigo aca }
public function normal( datos:String=null ):void 
{ //Codigo aca }

O algun otro metodo?
Saludos!

Por chino2040

54 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Feb 2011 10:13 pm
BuenAS:

No sé si te refieres más bien a funciones en general, ya que un método suele ir asociado a una clase y sería más lógico ejecutar el método a través de la clase que lo posee (ya sea por medio de una instancia, o de forma estática). Pero una función y sus parámetros sí se pueden pasar. Una opción puede ser algo así:

Código :

var funcionPersonalizada:Function = function(a:Number, b:Number):Number
{
   return a*b;
}

procesarFuncion(funcionPersonalizada, [2,3])

function procesarFuncion(funcion:Function, parametros:Array):void
{
   trace(funcion.apply(this, parametros));
}


Es una función muy simple, que devuelve el producto del par de parámetros que le pasas. Al llamar a procesar función debe de generar una salida : 2*3 = 6

Es una forma de tantas...

Un saludo.

Por Lukánicos

Claber

468 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 25 Feb 2011 10:15 pm
...o de esta forma, como prefieras:

Código ActionScript :

function funcionPersonalizada(a:Number, b:Number):Number
{
   return a*b;
}

procesarFuncion(funcionPersonalizada, [2,3])

function procesarFuncion(funcion:Function, parametros:Array):void
{
   trace(funcion.apply(this, parametros));
}

Por Lukánicos

Claber

468 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 27 Feb 2011 06:36 am
Lukánicos, si se le puede llamar genio, seria un pequeño halago.. Vieras que trataba y trataba pero sin resultados positivos, Ya pensaba que no se podia... La verdad esta mortal ese toque... Muchisimas gracias de verdad...

Por chino2040

54 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.