<?xml version="1.0" encoding="utf-8"?><!-- generator="wordpress/2.0.4" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: Pasar funcion como parametro</title>
	<link>http://www.jesusgollonet.com/blog/2005/01/20/pasar-funcion-como-parametro/</link>
	<description>desearch and revelopment</description>
	<pubDate>Tue, 06 Jan 2009 14:26:42 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.4</generator>

	<item>
		<title>by: acidbjazz</title>
		<link>http://www.jesusgollonet.com/blog/2005/01/20/pasar-funcion-como-parametro/#comment-72038</link>
		<pubDate><br />
<b>Warning</b>:  mktime() expects parameter 4 to be long, string given in <b>/home/.lynn/jgollonet/jesusgollonet.com/blog/wp-includes/functions.php</b> on line <b>24</b><br />
Wed, 31 Dec 1969 16:00:00 +0000</pubDate>
		<guid>http://www.jesusgollonet.com/blog/2005/01/20/pasar-funcion-como-parametro/#comment-72038</guid>
					<description>editalo, es -3, no -4 =P</description>
		<content:encoded><![CDATA[<p>editalo, es -3, no -4 =P
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: acidbjazz</title>
		<link>http://www.jesusgollonet.com/blog/2005/01/20/pasar-funcion-como-parametro/#comment-72037</link>
		<pubDate><br />
<b>Warning</b>:  mktime() expects parameter 4 to be long, string given in <b>/home/.lynn/jgollonet/jesusgollonet.com/blog/wp-includes/functions.php</b> on line <b>24</b><br />
Wed, 31 Dec 1969 16:00:00 +0000</pubDate>
		<guid>http://www.jesusgollonet.com/blog/2005/01/20/pasar-funcion-como-parametro/#comment-72037</guid>
					<description>es facil, lo q llega a una funcion YA es un array, llamado arguments.. con algo como esto (si envian el nombre de la funcion primero) podrian seprarar la funcion de sus parametros:

nuevosParametros = arguments.splice(1, (arguments.length - 3));

(el valor -3, es porq tengo una funcion tipo :
function G(funcion, param1, ...,paramN, paramDeG_1, paramDeG_2)

Luego para volver a asignarles los parametros a la funcion:

funcion.apply(null, nuevosParametros);</description>
		<content:encoded><![CDATA[<p>es facil, lo q llega a una funcion YA es un array, llamado arguments.. con algo como esto (si envian el nombre de la funcion primero) podrian seprarar la funcion de sus parametros:</p>
<p>nuevosParametros = arguments.splice(1, (arguments.length - 3));</p>
<p>(el valor -3, es porq tengo una funcion tipo :<br />
function G(funcion, param1, &#8230;,paramN, paramDeG_1, paramDeG_2)</p>
<p>Luego para volver a asignarles los parametros a la funcion:</p>
<p>funcion.apply(null, nuevosParametros);
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Mario</title>
		<link>http://www.jesusgollonet.com/blog/2005/01/20/pasar-funcion-como-parametro/#comment-63177</link>
		<pubDate><br />
<b>Warning</b>:  mktime() expects parameter 4 to be long, string given in <b>/home/.lynn/jgollonet/jesusgollonet.com/blog/wp-includes/functions.php</b> on line <b>24</b><br />
Wed, 31 Dec 1969 16:00:00 +0000</pubDate>
		<guid>http://www.jesusgollonet.com/blog/2005/01/20/pasar-funcion-como-parametro/#comment-63177</guid>
					<description>Yo tengo un problemita talvez un poco mas raro, ya puedo pasar una funcion como parametro (yo lo estoy haciendo javascript, auqnue la verdad es muy muy similar a actionscript) ... como les decia, lo que quiero hacer es pasar una funcion que ya lleva parametros y luego dentro de la otra funcion ponerle otros parametros mas :d jaja creo que esta un poco loco ... pero talvez alguien puede ayudarme.</description>
		<content:encoded><![CDATA[<p>Yo tengo un problemita talvez un poco mas raro, ya puedo pasar una funcion como parametro (yo lo estoy haciendo javascript, auqnue la verdad es muy muy similar a actionscript) &#8230; como les decia, lo que quiero hacer es pasar una funcion que ya lleva parametros y luego dentro de la otra funcion ponerle otros parametros mas :d jaja creo que esta un poco loco &#8230; pero talvez alguien puede ayudarme.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Tulio</title>
		<link>http://www.jesusgollonet.com/blog/2005/01/20/pasar-funcion-como-parametro/#comment-4965</link>
		<pubDate><br />
<b>Warning</b>:  mktime() expects parameter 4 to be long, string given in <b>/home/.lynn/jgollonet/jesusgollonet.com/blog/wp-includes/functions.php</b> on line <b>24</b><br />
Wed, 31 Dec 1969 16:00:00 +0000</pubDate>
		<guid>http://www.jesusgollonet.com/blog/2005/01/20/pasar-funcion-como-parametro/#comment-4965</guid>
					<description>Hola, respondiendo el interrogante de como hacer una funcion que reciba cualquier numero de parametros, en javascript todas las funciones tienen un objeto asociado que es nombreFuncion.arguments por medio de este se puede acceder a los parametros.
A la hora de definir la funcion simplemete se define como una funcion sin parametros y dentro se recorre la variable arguments</description>
		<content:encoded><![CDATA[<p>Hola, respondiendo el interrogante de como hacer una funcion que reciba cualquier numero de parametros, en javascript todas las funciones tienen un objeto asociado que es nombreFuncion.arguments por medio de este se puede acceder a los parametros.<br />
A la hora de definir la funcion simplemete se define como una funcion sin parametros y dentro se recorre la variable arguments
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: jesus gollonet</title>
		<link>http://www.jesusgollonet.com/blog/2005/01/20/pasar-funcion-como-parametro/#comment-3194</link>
		<pubDate><br />
<b>Warning</b>:  mktime() expects parameter 4 to be long, string given in <b>/home/.lynn/jgollonet/jesusgollonet.com/blog/wp-includes/functions.php</b> on line <b>24</b><br />
Wed, 31 Dec 1969 16:00:00 +0000</pubDate>
		<guid>http://www.jesusgollonet.com/blog/2005/01/20/pasar-funcion-como-parametro/#comment-3194</guid>
					<description>Hola, javier.

Por si te sigue interesando el tema, ya encontré la solución.
Lo que comentas del array es perfectamente posible, pero creo que la solución "canónica" se parecería más a esto

http://www.jesusgollonet.com/blog/index.php?p=52

Saludos</description>
		<content:encoded><![CDATA[<p>Hola, javier.</p>
<p>Por si te sigue interesando el tema, ya encontré la solución.<br />
Lo que comentas del array es perfectamente posible, pero creo que la solución &#8220;canónica&#8221; se parecería más a esto</p>
<p><a href='http://www.jesusgollonet.com/blog/index.php?p=52' rel='nofollow'>http://www.jesusgollonet.com/blog/index.php?p=52</a></p>
<p>Saludos
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: javier</title>
		<link>http://www.jesusgollonet.com/blog/2005/01/20/pasar-funcion-como-parametro/#comment-2764</link>
		<pubDate><br />
<b>Warning</b>:  mktime() expects parameter 4 to be long, string given in <b>/home/.lynn/jgollonet/jesusgollonet.com/blog/wp-includes/functions.php</b> on line <b>24</b><br />
Wed, 31 Dec 1969 16:00:00 +0000</pubDate>
		<guid>http://www.jesusgollonet.com/blog/2005/01/20/pasar-funcion-como-parametro/#comment-2764</guid>
					<description>Hola:
No soy ningún experto en flash pero se me ocurre que pueden pasarse una cantidad indeterminada de parametros a una función pasandole como parámetro un array.
El problema es que no sé si esto es posible ya que se me ha dado el caso de necesitar pasar un array como parametro y no he sabido hacerlo.
Si alguien puede ayudarme le quedaré agradecido.</description>
		<content:encoded><![CDATA[<p>Hola:<br />
No soy ningún experto en flash pero se me ocurre que pueden pasarse una cantidad indeterminada de parametros a una función pasandole como parámetro un array.<br />
El problema es que no sé si esto es posible ya que se me ha dado el caso de necesitar pasar un array como parametro y no he sabido hacerlo.<br />
Si alguien puede ayudarme le quedaré agradecido.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Miguel García</title>
		<link>http://www.jesusgollonet.com/blog/2005/01/20/pasar-funcion-como-parametro/#comment-1247</link>
		<pubDate><br />
<b>Warning</b>:  mktime() expects parameter 4 to be long, string given in <b>/home/.lynn/jgollonet/jesusgollonet.com/blog/wp-includes/functions.php</b> on line <b>24</b><br />
Wed, 31 Dec 1969 16:00:00 +0000</pubDate>
		<guid>http://www.jesusgollonet.com/blog/2005/01/20/pasar-funcion-como-parametro/#comment-1247</guid>
					<description>Ok. La diferencia entre tu ejemplo y el mío y por la que no necesitas usar eval es porque tú no estás pasando el nombre de la función como un string, mientras que yo sí.

Si en mi ejemplo le hubiera quitado las comillas al getURL ya funciona sin el eval tal que así:

funcion = getURL;
param1 = "http:\loquesea.com";
param2 = "_blank";
funcion(param1,param2);

Pues nada... De momento me temo que tendremos que apañarnos con la solución del switch a falta de algo mejor. La cosa sería currárselo y ampliarlo a una porrada de parámetros. A mí para la mayoría de los casos me vale con 2, pero la solución valdría para un número grande(finito) de parámetros desconociendo a priori cuántos son.

Saludos,

             Miguel García</description>
		<content:encoded><![CDATA[<p>Ok. La diferencia entre tu ejemplo y el mío y por la que no necesitas usar eval es porque tú no estás pasando el nombre de la función como un string, mientras que yo sí.</p>
<p>Si en mi ejemplo le hubiera quitado las comillas al getURL ya funciona sin el eval tal que así:</p>
<p>funcion = getURL;<br />
param1 = &#8220;http:\loquesea.com&#8221;;<br />
param2 = &#8220;_blank&#8221;;<br />
funcion(param1,param2);</p>
<p>Pues nada&#8230; De momento me temo que tendremos que apañarnos con la solución del switch a falta de algo mejor. La cosa sería currárselo y ampliarlo a una porrada de parámetros. A mí para la mayoría de los casos me vale con 2, pero la solución valdría para un número grande(finito) de parámetros desconociendo a priori cuántos son.</p>
<p>Saludos,</p>
<p>             Miguel García
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: jesus gollonet</title>
		<link>http://www.jesusgollonet.com/blog/2005/01/20/pasar-funcion-como-parametro/#comment-1243</link>
		<pubDate><br />
<b>Warning</b>:  mktime() expects parameter 4 to be long, string given in <b>/home/.lynn/jgollonet/jesusgollonet.com/blog/wp-includes/functions.php</b> on line <b>24</b><br />
Wed, 31 Dec 1969 16:00:00 +0000</pubDate>
		<guid>http://www.jesusgollonet.com/blog/2005/01/20/pasar-funcion-como-parametro/#comment-1243</guid>
					<description>buenas, miguel. ante todo disculpa que tu comentario no saliera. tenía esto un poco abandonado y no había visto que estaba pendiente de moderación.

respecto a lo que comentas, te diré que a mi si me funciona pasarle parámetros si sé de antemano cuántos quiero pasarle. copiando el ejemplo que puse:


// esta es una función cualquiera
function a (parametro) {
  trace ("soy la funcion a y mi parametro se llama " + parametro);
}
// y desde otra función vamos a llamar a la primera
function b (funcionLlamada, parametro) {
  trace ("soy la funcion b");
  funcionLlamada(parametro);
}
// y lo ejecutamos tal que así.
b(a, "miguel");
// en la ventana de trace aparecerá
// soy la funcion b
// soy la funcion a y mi parametro se llama miguel


sin embargo sigo con el mismo problema. si no se el número de parámetros a priori, no me sirve esta solución. Ya que me lo has recordado, me lo voy a mirar a ver si lo saco.

Saludos y gracias por el comentario</description>
		<content:encoded><![CDATA[<p>buenas, miguel. ante todo disculpa que tu comentario no saliera. tenía esto un poco abandonado y no había visto que estaba pendiente de moderación.</p>
<p>respecto a lo que comentas, te diré que a mi si me funciona pasarle parámetros si sé de antemano cuántos quiero pasarle. copiando el ejemplo que puse:</p>
<p>// esta es una función cualquiera<br />
function a (parametro) {<br />
  trace (&#8221;soy la funcion a y mi parametro se llama &#8221; + parametro);<br />
}<br />
// y desde otra función vamos a llamar a la primera<br />
function b (funcionLlamada, parametro) {<br />
  trace (&#8221;soy la funcion b&#8221;);<br />
  funcionLlamada(parametro);<br />
}<br />
// y lo ejecutamos tal que así.<br />
b(a, &#8220;miguel&#8221;);<br />
// en la ventana de trace aparecerá<br />
// soy la funcion b<br />
// soy la funcion a y mi parametro se llama miguel</p>
<p>sin embargo sigo con el mismo problema. si no se el número de parámetros a priori, no me sirve esta solución. Ya que me lo has recordado, me lo voy a mirar a ver si lo saco.</p>
<p>Saludos y gracias por el comentario
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Miguel García</title>
		<link>http://www.jesusgollonet.com/blog/2005/01/20/pasar-funcion-como-parametro/#comment-1028</link>
		<pubDate><br />
<b>Warning</b>:  mktime() expects parameter 4 to be long, string given in <b>/home/.lynn/jgollonet/jesusgollonet.com/blog/wp-includes/functions.php</b> on line <b>24</b><br />
Wed, 31 Dec 1969 16:00:00 +0000</pubDate>
		<guid>http://www.jesusgollonet.com/blog/2005/01/20/pasar-funcion-como-parametro/#comment-1028</guid>
					<description>Yo había resuelto el tema de las funciones como parámetro con el eval también, en plan prestidigitador después de haber probado mil cosas. No se me había ocurrido lo de ponerle los () directamente a la variable.

El problema es que tal y como lo planteas tú no sirve con parámetros (o al menos a mí no me funciona), así que me veo obligado a seguir con el prestidigitado eval de la siguiente manera:

funcion = "getURL";
param1 = "http:\loquesea.com";
param2 = "_blank";
eval(funcion)(param1,param2);

Ya que como decía antes, hacer: funcion(param1,param2); no me tira.

En cuanto a lo del número indeterminado de parámetros, tengo el mismo problema que tú, ya que no puedo "componer" la lista de parámetros dinámicamente. Yo de momento me lo he currado de la siguiente manera, aunque es un poco fea y bastante tediosa. Meto todos los parámetros en un array "params" y luego hago un switch con la longitud del array de la siguiente manera:

switch(params.length)
{
   case 0:
    eval(funcion)(); // este sí funcionaría como funcion();
    break;
   case 1:
    eval(funcion)(params[0]);
    break;
   case 2:
    eval(funcion)(params[0],params[1]);
    brak;
}

Eso valdría hasta 2 parámetros. Si lo quieres para más, tendrás que continuar el switch.

Un saludo,

               Miguel García</description>
		<content:encoded><![CDATA[<p>Yo había resuelto el tema de las funciones como parámetro con el eval también, en plan prestidigitador después de haber probado mil cosas. No se me había ocurrido lo de ponerle los () directamente a la variable.</p>
<p>El problema es que tal y como lo planteas tú no sirve con parámetros (o al menos a mí no me funciona), así que me veo obligado a seguir con el prestidigitado eval de la siguiente manera:</p>
<p>funcion = &#8220;getURL&#8221;;<br />
param1 = &#8220;http:\loquesea.com&#8221;;<br />
param2 = &#8220;_blank&#8221;;<br />
eval(funcion)(param1,param2);</p>
<p>Ya que como decía antes, hacer: funcion(param1,param2); no me tira.</p>
<p>En cuanto a lo del número indeterminado de parámetros, tengo el mismo problema que tú, ya que no puedo &#8220;componer&#8221; la lista de parámetros dinámicamente. Yo de momento me lo he currado de la siguiente manera, aunque es un poco fea y bastante tediosa. Meto todos los parámetros en un array &#8220;params&#8221; y luego hago un switch con la longitud del array de la siguiente manera:</p>
<p>switch(params.length)<br />
{<br />
   case 0:<br />
    eval(funcion)(); // este sí funcionaría como funcion();<br />
    break;<br />
   case 1:<br />
    eval(funcion)(params[0]);<br />
    break;<br />
   case 2:<br />
    eval(funcion)(params[0],params[1]);<br />
    brak;<br />
}</p>
<p>Eso valdría hasta 2 parámetros. Si lo quieres para más, tendrás que continuar el switch.</p>
<p>Un saludo,</p>
<p>               Miguel García
</p>
]]></content:encoded>
				</item>
</channel>
</rss>
