¿Que es un ARRAY?
Es una lista de datos ordenados numéricamente.
Por ejemplo, una lista( array
) de los numeros del 5 al 7 sería: primero el 5,segundo el 6 y tercero el 7. En ruby la lista la escribiríamos : [5,6,7]
y es una lista de tipo numérico.
Una lista( array
) de amigos sería : ["pepe","juan","pedro"]
, es una lista de tipo cadena donde primer amigo sería "pepe", el segundo "juan" y el tercero "pedro".
Una lista( array
) de tipo mixto, sería por ejemplo una lista de amigos y años: ["pepe",25,"juan",30,"pedro",27]
, el primer dato de la lista es el amigo "pepe", el segundo su edad: 25, el tercero el amigo juan, el cuarto su edad: 30.....
En ruby un array lo expresamos así:
[primer elemento,segundo elemento,....,ultimo elemento]
VARIABLE TIPO ARRAY
En Ruby, los arrays se pueden(suelen) guardar en una variable de tipo array. Una variable tipo array se inicializa asi: variable=array
o con mas detalle:
variable=[elemento,....,elemento]
Ejemplos:
puts "array de numeros del 5 al 7" var=[5,6,7]
puts "creando un array de cadenas" var1=["pepe","juan","pedro"]
puts "creando un array mixto" var2=["pepe",25,"juan",30,"pedro",27]
puts "creando un array de rangos" var3=[(1..2),(2..3),(4..8)]
puts "creando otro array mixto" var4=[8,"hola",(3..4),true]
| array de numeros del 5 al 7
creando un array de cadenas
creando un array mixto
creando un array de rangos
creando otro array mixto
|
EXPLORANDO ARRAYS
¡ATENCIÓN!.En ruby los arrays comienzan en cero. En el array [5,6,7]
, el elemento cero es el 5, el elemento uno es el 6 y el elemento 2 es el 7
¿Como acceder a los elementos de un array?
array[indice]
Por ejemplo el elemento 3 del array que representa una variable que llamamos var1 es: var1[3]
puts "array de numeros del 5 al 7" var1=[5,6,7] puts "todo var1",var1 print "var1[0]=",var1[0],"\n" puts "creando un array de cadenas" var2=["pepe","juan","pedro"] puts "todo var2",var2 print "var2[1]=",var2[1],"\n" puts "creando un array mixto" var3=["pepe",25,"juan",30,"pedro",27] puts "todo var3",var3 print "var3[2]=",var3[2],"\n" puts "creando un array de rangos" var4=[(1..2),(2..3),(4..8)] puts "todo var4",var4 print "var4[1]=",var4[1],"\n" puts "creando otro array mixto" var5=[8,"hola",(3..4),true] puts "todo var5",var5 print "var5[3]=",var5[3],"\n"
| array de numeros del 5 al 7 todo var1 5 6 7 var1[0]=5 creando un array de cadenas todo var2 pepe juan pedro var2[1]=juan creando un array mixto todo var3 pepe 25 juan 30 pedro 27 var3[2]=juan creando un array de rangos todo var4 1..2 2..3 4..8 var4[1]=2..3 creando otro array mixto todo var5 8 hola 3..4 true var5[3]=true
|
MODIFICANDO ARRAYS
En un array ya creado(mejor dicho en una variable tipo array), podemos modificar o añadir elementos con la sintaxis:
array[indice]=dato
Si en vez de un dato asignamos un nil
, borramos el elemento.
Podemos crear una variable tipo array vacia para 'rellenar' de esta manera :
variable=[]
miarray=[]
miarray[0]="soy el 0" miarray[1]=1 contador=2 for dato in ('a'..'c') miarray[contador]=dato contador=contador+1 end
puts 'veamos miarray' puts miarray puts "-----------------" puts "veamoslo de otra forma" contador=0 for dato in miarray if dato!=nil print contador," ",dato,"\n" end contador=contador+1 end
miarray[0]="unico dato" for dato in (1..4) miarray[dato]=nil end puts "veamos miarray" puts miarray puts "-------------"
puts "veamoslo de otra forma" contador=0 for dato in miarray if dato!=nil print contador," ",dato,"\n" end contador=contador+1 end
| veamos miarray soy el 0 1 a b c ----------------- veamoslo de otra forma 0 soy el 0 1 1 2 a 3 b 4 c veamos miarray unico dato nil nil nil nil ------------- veamoslo de otra forma 0 unico dato
|
ARRAYS DE ARRAYS
Un elemento de un array
puede ser también un array
, y así se nos abre un mundo enorme de posibilidades.
La forma fundamental de inializar un array, hemos quedado que era:
array=[elemento,...,elemento]
Un 'multiarray' lo inicializaremos mas o menos asi:
multiarray=[[elmento,...,elemento],...,[elemento,...,elemento]]
Esto sería un array de arrays. Pero la cosa puede ir mas lejos si los array de arrays se definen como arrays...
Ejemplo:
puts "array de nombre y apellidos" miarray=[["antonio","fulano","detal"], ["perico","delos","palotes"]]
for datoArray in miarray for dato in datoArray print dato," " end puts end puts "------------" puts "numeros de dos en dos" array=[] for i in (0..4) array[i]=[] for j in (0..1) array[i][j]=2*i+j print "array[",i,"][",j,"]=",array[i][j],"\n" end end
puts "---numeros pares----" for arr in array print arr[0]," " end puts puts "---numeros impares----" for arr in array print arr[1]," " end puts
| array de nombre y apellidos antonio fulano detal perico delos palotes ------------ numeros de dos en dos array[0][0]=0 array[0][1]=1 array[1][0]=2 array[1][1]=3 array[2][0]=4 array[2][1]=5 array[3][0]=6 array[3][1]=7 array[4][0]=8 array[4][1]=9 ---numeros pares---- 0 2 4 6 8 ---numeros impares---- 1 3 5 7 9
|
SUBARRAYS
Se puede acceder a parte de un array, o crear un array como parte de un array de esta forma:
array[desde,cuantos]
: Un array desde la posicion 'desde' de 'cuantos' elementos.array[desde..hasta]
: Un array desde la posicion 'desde' hasta la posición 'hasta'
Veamos algun ejemplo:
puts "creo array del 1 al 6" array=[1,2,3,4,5,6] puts "array[2,2]=" puts array[2,2] puts "------------" puts "array[2..3]=" puts array[2..3]
puts "---------------------" puts "creo array de la 'a' al 'i'" array=[] contador=0 for dato in ('a'..'i') array[contador]=dato contador=contador+1 end array1=array[5..7] puts "array[5..7]" puts array1
| creo array del 1 al 6 array[2,2]= 3 4 ------------ array[2..3]= 3 4 --------------------- creo array de la 'a' al 'i' array[5..7] f g h
|
.----oOO--OOo----.
No hay comentarios:
Publicar un comentario