Skip to content

Instantly share code, notes, and snippets.

@Mardiniii
Last active June 29, 2017 17:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save Mardiniii/1beb4140c445f5337d87093e48f0c1e7 to your computer and use it in GitHub Desktop.
Save Mardiniii/1beb4140c445f5337d87093e48f0c1e7 to your computer and use it in GitHub Desktop.
Collections Practice

# Practica de Arrays

zombie_apocalypse_supplies = ["hatchet", "rations", "water jug", "binoculars", "shotgun", "compass", "CB radio", "Tactical 10mm"]
  1. Itera sobre el array zombie_apocalypse_supplies, imprimiendo cada elemento dentro del array.

  2. Para mantenernos organizados, organiza el array zombie_apocalypse_supplies de forma alfabetica.

  3. Crea un metodo que mire si un item (string) esta dentro del arreglo zombie_apocalypse_supplies. Por ejemplo esta 'boots' dentro de la lista de suministros? (Este método debe devolver true or false```).

  4. No puedes cargar muchas cosas, solo hay espacio para unas cuantas. Remueve todos los items del arreglo zombie_apocalypse_supplies que tengan mas de dos palabras, en este caso solo van a quedar los 5 items compuestos de una sola palabra.

  5. Encontraste otro sobreviviente! esto significa que pueden combinar sus suministros. Crea un nuevo arreglo de suministros a partir de los arreglos zombie_apocalypse_supplies y other_survivor_supplieslos sumnitros del otro sobreviviente. Debes deshacerte de todos los suministros que esten duplicados. No olvides revisar la documentación de Array.

other_survivor_supplies = [ "warm clothes", "rations", "compass", "camp stove", "solar battery", "flashlight" ]

Practica de Hashes

extinct_animals = {
  "Tasmanian Tiger" => 1936,
  "Eastern Hare Wallaby" => 1890,
  "Dodo" => 1662,
  "Pyrenean Ibex" => 2000,
  "Passenger Pigeon" => 1914,
  "West African Black Rhinoceros" => 2011,
  "Laysan Crake" => 1923
}
  1. Itera sobre el hash extinct_animals, imprimiendo cada vez el la pareja de key/value con un dash (-) entre ellos y un asterisco (*) entre cada elemento (animal extincto).

  2. Elimina todos los animales que se extinguieron despues del año 1999, del hash extinct_animals. No uses metodos especiales solo delete e iteraciones.

  3. Nuestros calculos estaban muy mal, resulta que todos esos animales se extinguieron 3 años antes que la fecha dada. Actualiza los valores dentro de extinct_animals para que reflejen el valor real de la fecha de extinción.

  4. Oiste que los siguientes animales podian estar extinctos, pero no estas seguro. Uno por uno revisa si se encuentran incluidos dentro del hash extinct_animals:

  • "Andean Cat"
  • "Dodo"
  • "Tasmanian Tiger"
  • "Saiga Antelope"
  1. Acabamos de encontrar que el Passenger Pigeon, realmente no esta extincto! Remuevelo del hash extinct_animals y devuelve su pareja de key/value como un arreglo de dos elementos. Puedes encontrar un metodo en la documentación de la clase Hash que te puede ayudar con esto.

Practica estructuras nesteadas

  1. Imprime en la consola solo el elemento target ningun otro:
# 1. Target: "FORE"

array = [[1,2], ["inner", ["eagle", "par", ["FORE", "hook"]]]]
# 2. Target: "congrats!"

hash = {outer: {inner: {"almost" => {3 => "congrats!"}}}}
# 3. Target: "finished"

nested_data = {array: ["array", {hash: "finished"}]}
  1. Usando un método del modulo Enumerable, modifica el array number_array de forma que cada numero se le sume 5. Lo vas a hacer de forma destructiva o no ?
number_array = [5, [10, 15], [20,25,30], 35]
  1. Crea un metodo que reciba un array como argumento, en este caso el array startup_names, y devuelva un array igual pero en donde a cada nombre se le a añadido 'ly' al final.
startup_names = ["bit", ["find", "fast", ["optimize", "scope"]]]
@estbs
Copy link

estbs commented Feb 19, 2017

Angie nos proporcionó unos métodos muy recursivos. Gracias Angie

@AngelicaMDuqueC
Copy link

con gusto <3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment