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