Arrays en Ruby
Creación de Arrays
#CREACION DE ARRAYS
empty_array = [] # []
other_empty_array = Array.new # []
array = ["papas","manices"] # ["papas","manices"]
array2 = %w[papas manices] # ["papas","manices"]
array3 = %w(papas manices) # ["papas","manices"]
other_array = Array.new(3,"Cerveza") # ["Cerveza","Cerveza","Cerveza"]
Selectores en Arrays
#SELECTORES EN ARRAY
array[0] # "papas"
array.at(0) # "papas"
array.fetch(0) # "papas"
array.fetch(345,"Default") # "Default"
array[numElementstart,numElement]
#1º param -> Elemento en el que comienzo a contar
#2º param -> Numero de elementos que selecciono a partir del comienzo
array[0,1] #"papas"
array[numElementStart..numElementFinish]
#1º param-> Desde el elemento X incluido
#2º param -> Hasta el elemento X incluido
array[0..1] #"papas, manices"
array[1..-1] #"manices"
array.first # "papas"
array.last # "manices"
Añadir Elementos a Arrays
#AÑADIR ELEMENTOS AL ARRAY
array << "mojo" # ["papas","manices","mojo"]
array.push("gofio") # ["papas","manices","mojo","gofio"]
array.unshift("queso") # ["queso","papas","manices","mojo","gofio"]
array += ["membrillo","biscocho"] # ["queso","papas","manices","mojo","gofio","membrillo","biscocho"]
Eliminar Elementos en Arrays
#ELIMINAR ELEMENTOS DEL ARRAY
#DESTRUCTIVOS
primera_comida = array.shift # primera_comida = "queso"
# array =["papas","manices","mojo","gofio","membrillo","biscocho"]
segunda_comida = array.pop # segunda_comida = "biscocho"
# array =["papas","manices","mojo","gofio","membrillo"]
array.delete_at(index)
array.delete(key)
# NO DESTRUCTIVOS
tercera_comida = array.drop(1) # tercera_comida = ["papas","manices"]
# array =["papas","manices","mojo","gofio","membrillo"]
cuarta_comida = array.slice(1,3) # cuarta_comida = ["manices","mojo","gofio"]
# array =["papas","manices","mojo","gofio","membrillo"]
Arrays Constantes (freeze)
ARRAY_EXAMPLE = %w[Pepe Juan Antonio Luis].freeze
Iteradores de Arrays
Each
array_example = [0,1,2,3]
array_example.each do |element|
puts element
end
Find
array_example = [0,1,2,3]
puts array_example.find {|element| element*element > 4} #3
Rangos
nombres = ("CARA_A".."CARA_D").to_a
print nombres #["CARA_A", "CARA_B", "CARA_C", "CARA_D"]
digitos = (0..9).to_a
print digitos,"\n" #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
puts digitos.include?(5) #true
puts digitos.min # 0
puts digitos.max # 9
print digitos.reject{|numero| numero<5},"\n" #[5, 6, 7, 8, 9]
print digitos === 2.5 #true
print digitos === 11 #false
