Estaba haciendo una practica con listas en Python y se me ocurrió (si es que no lo he hecho antes).
Como mostrar un array que contiene otros arrays,dentro otro, etc,etc.
Tenemos este array (lista):
[1, 2, 3, [4, 5, [6, 7, [8, 9, 10]]]]
Y queremos mostrar uno a uno los elementos que lo componen. He uso el tipo Variant ya que parece
ideal para este tipo de problemas.
Y recursividad...cuanto me gusta la recursividad..cuanto me gusta la recursividad..
Public Sub Main()
Dim lista As Variant[] = [1, 2, 3, [4, 5, [6, 7, [8, 9, 10]]]]
Dim elemento As Variant
For Each elemento In lista
If TypeOf(elemento) = gb.Object Then
MostrarElemento(elemento)
Else
Print elemento
Endif
Next
End
Public Sub MostrarElemento(t As Variant)
Dim elemento As Variant
For Each elemento In t
If TypeOf(elemento) = gb.Object Then
MostrarElemento(elemento)
Else
Print elemento
Endif
Next
End
Dim lista As Variant[] = [1, 2, 3, [4, 5, [6, 7, [8, 9, 10]]]]
Dim elemento As Variant
For Each elemento In lista
If TypeOf(elemento) = gb.Object Then
MostrarElemento(elemento)
Else
Print elemento
Endif
Next
End
Public Sub MostrarElemento(t As Variant)
Dim elemento As Variant
For Each elemento In t
If TypeOf(elemento) = gb.Object Then
MostrarElemento(elemento)
Else
Print elemento
Endif
Next
End
La salida fue correcta, mostró los números del 1 al 10.
Os adjunto el código para que lo ejecutéis y lo podéis modificar para comentar. ¿ Se puede mejorar ?. Tengo que verlo con mas detenimiento.
A lo mejor estoy repitiendo código. No encontraba una constante que diga es un array, así que uso objeto que es un array.
Saludos
ArraydeArrays2.tar.gz | ||
Descripción: | Descargar |
|
Nombre del archivo: | ArraydeArrays2.tar.gz | |
Tamaño: | 4.31 KB | |
Descargado: | 32 veces |
ArraydeArrays2.tar.gz | ||
Descripción: | Descargar |
|
Nombre del archivo: | ArraydeArrays2.tar.gz | |
Tamaño: | 4.31 KB | |
Descargado: | 32 veces |
ArraydeArrays2.tar.gz | ||
Descripción: | Descargar |
|
Nombre del archivo: | ArraydeArrays2.tar.gz | |
Tamaño: | 4.31 KB | |
Descargado: | 32 veces |