FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#8
|
||||
|
||||
A ver...
La propuesta de Ñuño es equivalente a una función con un parámetro por referencia. Es decir que un parámetro este precedido por la cláusula var de modo tal que se permita la modificación de dicho valor por parte de la función. Es decir algo como:
Cuando se pasa un parámetro por refencia, se permite que dentro del código se altere su valor por lo que al final de la función es posible que el valor sea diferente. Esta es una de las maneras en como una función puede devolver más de un resultado: 1) El resultado propiamente de la función:
2) El 2do resultado que queda almacenado en el 2do parámetro (para el ejemplo en la variable res2 y ya no necesariamente el valor será 5 como inicialmente por tanto hay que comprobar su valor:
Si hay más por regresar se pueden disponer de tantos parámetros "vars" como se requieran:
Pero en lo posible hay que evitar esta técnica. Como dije al comienzo de mi anterior mensaje, si el resultado de la función siempre será parecido a algo como:
Y siempre que resultado_constante sea un valor fijo y resultado_variable sea variable o que asuma el valor dependiendo del caso. Entonces, si... la función puede regresar diferentes valores y sin necesidad de requerir añadir parámetros por referencias. En este escenario ya pasa por el cliente de la función (en donde se la utilizará) el llevar el adecuado control de los resultados. Y esto se puede hacer fácilmente con el uso de constantes. La segunda alternativa para regresar múltiples resultados es utilizando registros, y hacer que la función regrese uno:
Pero como he dicho, en lo posible debe evitarse estos tipos de funciones ya que lleva a un acomplamiento empaquetado y condiciona a tanto la función como al cliente a tener un mayor acomplamiento y un cambio en la función llevará a un cambio en el cliente, y vaya a saber donde más. Si no se entiende eso, entonces me pregunto de que otra manera debo explicarlo porque es de lo más simple y elemental. Me extraña que alguien que ya lleva más de 2000 mensajes y un buen tiempo en los foros no logre entender lo que he dicho anteriormente. Sabiendo que tu JXJ supuestamente eres un profesional, y que a la teoría y los conceptos de acoplamiento y cohesión te son más que estudiados ya que es una de las primeras cosas que se enseñan en la carrera. Saludos, |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Función devuelva día del año | Moparova | Varios | 2 | 23-04-2007 23:03:59 |
Funcion que Devuelva Fecha y Hora en C# | omar_e_rc | .NET | 1 | 28-09-2005 21:47:59 |
Crear Formulario que me devuelva un valor | coulthard | Internet | 2 | 26-11-2004 13:32:53 |
Funcion que devuelva mas de un valor | ckaki | Varios | 1 | 27-11-2003 00:07:59 |
Funcion Udf que devuelva un blob (imagen) | Emiro | Firebird e Interbase | 2 | 04-08-2003 15:59:40 |
|