Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 2 de 3
Ir a la página Anterior  1, 2, 3  Siguiente
 
Array De Distintos Tipos
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Re: Array De Distintos Tipos 
 
Hola!.

Entre mensajes y mensajes acabo haciendo otra cosa y no acabo el de los arrays...
Si es que quiero llevarlo todo por delante.

Hace falta más gente con mucho interés como muchos de vosotros que demostráis día a día en esta comunidad
y en la mayoría de las comunidades de programación. Vosotros sois los que hacéis grande una comunidad.

Pero necesitamos más como vosotros!!.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Jueves, 25 Septiembre 2014, 20:37; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Array De Distintos Tipos 
 
Ok.

Fijaros en esto. Es calcado al código de Python.

Public Sub Main()
  
  Dim lista1, lista2 As Variant[]
  
  lista1 = [0, 1, 2]
  lista1[1] = lista1
 
End
 


La ejecución de este código da este error:

gbx3: warning: 2 allocation(s) non freed.



Ahora fijaros en que ocurre en Python. Os mostrare de paso un modelo de memoria ( traducción literal).
Os voy a mostrar una captura en texto:

Citar:

Python 3.4.0 (default, Apr 11 2014, 13:05:18)
[GCC 4.8.2] on linux
Type "copyright", "credits" or "license()" for more information.
>>> lista1 =  [0,1,2]
>>> lista1[1] = lista1
>>> lista1
[0, [...], 2]
>>>


Ahora os muestro el modelo en memoria.
Primer paso:

 paso1

Segundo paso:

 paso2

Es como algo sin fin.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Array De Distintos Tipos 
 
Vuott y Shordi:

Tengo que añadir.

En el caso de usar las sentencias "Print" para mostrar los valores de los arrays (que resultaría eterno en el caso de un array mayor).

Tiene que existir métodos que seguramente es algo más que conocido por un programador profesional para un array que tiene una estructura
no conocida y queremos mostrar su contenido, (que lo mismo puede almacenar valores, como arrays dentro de otros arrays.)

Cuando un programador trabaja con este tipo, ¿sabrá siempre el programador que tipo de datos va almacenar ?
Imaginar por un momento que no sabe que va almacenar el array, que pueden ser elementos individuales o elementos mas complejos.
¿ Cómo mostraríais el contenido ?.

De dentro hacia a fuera.

¿ Es normal encontrar ese tipo de datos tan complejos ?.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Array De Distintos Tipos 
 
Shell escribió: [Ver mensaje]
La ejecución de este código da este error:

gbx3: warning: 2 allocation(s) non freed.


Como última instrucción (antes de "End") escribe esta línea de comando:

   lista1.Clear



Saludos
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Array De Distintos Tipos 
 
Vuott:

Ahora ya funciona. Gratias vobis ago.

 array_infinito

¿ Cuál fue el problema ?.
¿ La lista debía ser borrada ?.
¿ Por ?.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Array De Distintos Tipos 
 
Shell escribió: [Ver mensaje]
Cuando un programador trabaja con este tipo, ¿sabrá siempre el programador que tipo de datos va almacenar ?
Imaginar por un momento que no sabe que va almacenar el array

Como puede no saber el programador que tipo de datos va almacenar ?
El solo caso que puedo imaginar undecided es cuando el programador utiliza una función externa, no comentada y no explicada adecuadamente, que regresa un array tan complejo.
Hasta ahora yo jamas encontré una función externa que regresa un array tan complejo. ...pero, quien sabe... ?
 



 
última edición por vuott el Viernes, 26 Septiembre 2014, 08:46; editado 3 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Array De Distintos Tipos 
 
Citar:
Cuando un programador trabaja con este tipo, ¿sabrá siempre el programador que tipo de datos va almacenar ?
Imaginar por un momento que no sabe que va almacenar el array, que pueden ser elementos individuales o elementos mas complejos.
¿ Cómo mostraríais el contenido ?.


El tipo de datos se sabe siempre... casi.
¿Cuándo no se sabe? Cuando tienes que operar con array de controles de los que no sabes de antemano su clase.
Imagina, por ejemplo, una función que alimenta las propiedades significativas de una serie de controles. Es decir una función que rellene la propiedad .Text de los texbox y la .Value de los valuebox o datebox de un Array tipo Objec[]
Tu función debe discriminar el valor a asignar puesto que no lo sabes de antemano.

Por otra parte los array complejos no son buenos para el cerebro humano. Tienen la mala costumbre de aparecer muy claros cuando lo diseñas e incomprensibles cuando meses después tratas de entenderlos.
Si tienes que almacenar en un elemento de un Variant[] toda una serie de valores, yo prefiero usar el viejo truco de "La Cadena de Caracteres Splintable" ("0|Pepito|5000|Madrid").
Por otra parte, el viejo método de los arrays paralelos sigue funcionando con todas sus pegas y, sobre todo, gambas te ofrece toda una serie de tipos de datos que te pueden solventar la papeleta.
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Array De Distintos Tipos 
 
No nos olvidemos de las ''Estructuras'', las que pueden contener datos de diferente tipo.
 



 
última edición por vuott el Viernes, 26 Septiembre 2014, 09:43; editado 1 vez 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Array De Distintos Tipos 
 
vuott escribió: [Ver mensaje]
No nos olvidemos de las ''Estructuras'', las que pueden contener datos de diferente tipo.


Y que a su vez pueden ser almacenadas en arrays y/o colecciones...

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Array De Distintos Tipos 
 
Para imprimir los valores de un array n-dimensiones pudiera ser con una función recursiva.
 



 
razaAztk - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuarioVer la galería personal del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes A Cerca De Controles En Distintos Formularios messerschmitt General 3 Sabado, 16 Abril 2011, 17:14 Ver último mensaje
soplo
No hay nuevos mensajes Tipos Por Valor Y Tipos Por Referencias Shell General 2 Viernes, 26 Octobre 2012, 05:18 Ver último mensaje
fabianfv
No hay nuevos mensajes Grupo De Distintos Controles Con Evento Co... Shell General 2 Jueves, 01 Septiembre 2016, 19:35 Ver último mensaje
Shell
No hay nuevos mensajes Recopilación De Distintos Temas Shell Off-topic 0 Miercoles, 24 Junio 2020, 19:07 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 2 de 3
Ir a la página Anterior  1, 2, 3  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
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



  

 

cron