|
Página 1 de 1
|
Cuando, Al Regresar, A La Función Llamada No Necesita "As Tipo"
Autor |
Mensaje |
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Cuando, Al Regresar, A La Función Llamada No Necesita "As Tipo"
......yo creo que la razón es que sustancialmente son Punteros, porque - cuando una Función recibe y debe regresar un Array, una Estructura o un Puntero - NO necesitan las palabras " As tipo": el regrezo es automaticamente " por Referencia".
Ejemplo con un Array:
Ejemplo con una Estructura:
Ejemplo con Puntero:
última edición por vuott el Martes, 12 May 2015, 00:05; editado 2 veces
|
#1 Martes, 12 May 2015, 00:01 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Cuando, Al Regresar, A La Función Llamada No Necesita "As Tipo"
Curioso, pero para mí que el tema está en que las funciones que pones de ejemplo no retornan ningún valor, lo que las convierte en procedures...
|
#2 Martes, 12 May 2015, 00:57 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Cuando, Al Regresar, A La Función Llamada No Necesita "As Tipo"
... lo que las convierte en procedures...
...y con eso ?
No creo que el fenómeno sea determinado de la "Procedura" en si misma.
Pues la función llamada recibe como parámetro un puntero (es decir referencia al parámetro real), si cambia el parámetro pasado "por dirección", el cambio será visible para la función de llamada. Por consiguiente, el pasaje es potencialmente bidireccional.
He hecho un ejemplo aquì:
http://foro.gambas-es.org/viewtopic.php?t=2129&p=26363#p26363
última edición por vuott el Martes, 12 May 2015, 01:38; editado 1 vez
|
#3 Martes, 12 May 2015, 01:38 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Cuando, Al Regresar, A La Función Llamada No Necesita "As Tipo"
Citar: Pues la función llamada recibe como parámetro un puntero (es decir referencia al parámetro real), si cambia el parámetro pasado "por dirección", el cambio será visible para la función de llamada. Por consiguiente, el pasaje es potencialmente bidireccional.
Efectivamente, es un modo de manejar datos en la función llamante por parte de la que recibe el parámetro... pero no es necesario el AS TIPO porque no hay un retorno explícito de datos.
La función se limita a manipular los datos recibidos que al ser Arrays, colecciones o cualquier clase de objetos son recibidos por referencia. Pero no devuelve nada en sí misma. Esa es la diferencia de la necesidad o no de especificar el AS TIPO.
Saludos
|
#4 Martes, 12 May 2015, 09:05 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Cuando, Al Regresar, A La Función Llamada No Necesita "As Tipo"
Bueno, pero la cuestión es que yo no supe que en gambas hubo este comportamiento automatico al pasar array y estructuras. En efecto, pasando otros tipos (Integer, String, etc), no hay el paso automatico por Referencia.
Saludos.
última edición por vuott el Martes, 12 May 2015, 09:13; editado 2 veces
|
#5 Martes, 12 May 2015, 09:10 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|