Array De Distintos Tipos


Ir a la página Anterior  1, 2, 3  Siguiente

Objetivo: 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

última edición por Shell el Jueves, 25 Septiembre 2014, 20:37; editado 1 vez
Objetivo: 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

Objetivo: 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

Objetivo: 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

Perfil MP  
Objetivo: 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

Objetivo: 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
Perfil MP  
Objetivo: 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.

Perfil MP  
Objetivo: 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
Perfil MP  
Objetivo: 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

Perfil MP  
Objetivo: Re: Array De Distintos Tipos
Para imprimir los valores de un array n-dimensiones pudiera ser con una función recursiva.

Ir a la página Anterior  1, 2, 3  Siguiente

Página 2 de 3


  
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

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4651s (PHP: -83% SQL: 183%)
Consultas SQL: 48 - Debug off - GZIP Activado