https://foro.gambas-es.org/viewtopic.php?f=1&t=8128
-----------------------------------
Shell
Lunes, 29 Junio 2020, 13:10

Insertar Array Dentro De Un Array
-----------------------------------
Buenas!.

En uno de los ejemplos que estoy haciendo, tengo que insertar un array que es el mismo.
¿ Suena raro verdad ?.  :roll: 

Tengo esto:

[code linenumbers=false syntax=gambas]
miarray = [ 1, 2, 3 ]
[/code]

Y ahora hago esto:

[code linenumbers=false syntax=gambas]
miarray.insert(miarray)
[/code]

Quedando:

[code linenumbers=false syntax=gambas]
miarray = [ 1, 2, 3, 1, 2, 3]
[/code]

[code linenumbers=false syntax=gambas]
Public Sub Main()
  
  Ejemplo1()
  
  
End

Public Sub Ejemplo1()

  Dim inumeros As Integer[] = [1, 2, 3]  
  Dim iotrosnumeros As Integer[] = [1, 2, 3]
  
  inumeros.Insert(iotrosnumeros) 
  
  Stop
  
End

Public Sub Ejemplo2()
  
  Dim inumeros As Integer[] = [1, 2, 3]  
  
  inumeros.Insert(inumeros)
  
  Stop
  
End
[/code]

Motivo, el ejemplo que veo en Python. Las listas.

En Python tengo una lista como esta:

[code linenumbers=false syntax=python]
lista = [ 1, 2, 3]
[/code]

Y quiero insertarle a la lista los mismos valores.

[code linenumbers=false syntax=python]
lista.append(lista[ : ])
[/code]

La forma: lista[ : ] quiere resumir que va de principio a fin.

¿ Pero que estoy insertando ?.. ¿ Valores o el array en si ?.   :twisted: 

A mi me dio pensar que iba a crear un desbordamiento de pila.  :roll: 
A si mismo....


Saludos


-----------------------------------
vuott
Lunes, 29 Junio 2020, 13:57

Re: Insertar Array Dentro De Un Array
-----------------------------------
[quote user="Shell" post="48964"]¿ Pero que estoy insertando ?.. ¿ Valores o el array en si ?[/quote]

Creo que este ejemplo puede darte la respuesta:

[code linenumbers=false syntax=gambas]Public Sub Main()

  Dim inumeros As Integer[] = [1, 2, 3]  
  Dim iotrosnumeros As Integer[] = [44, 555, 66666]
  Dim i As Integer

  inumeros.Insert(iotrosnumeros)
  
  For i = 0 To (inumeros.Count * SizeOf(gb.Integer)) - 1
    Print i, Hex(Byte@(inumeros.Data + i), 2)
  Next

End[/code]


