Ruby Basics 3 - Hash - Aula 6A - Aprendendo a programar com Ruby: O Básico para iniciantes

:warning: Material da aula 6.A! Veja mais informações sobre o curso e a lista completa das aulas em: http://cursoprogramacao.rafaelbiriba.com/ :warning:

6.A. Ruby Basics 3 - Hash

Essa é a terceira aula com o conteúdo básico do Ruby. Explico brevemente sobre hash.

Não deixe de tentar resolver os exercícios da aula e investir algum tempo estudando mais sobre o assunto.

Vídeo da aula

Conteúdo da aula

  • Array: parte 2

  • Hash

Exemplos da aula
Array - parte 2
exemplo = []
puts exemplo[0] #nil
exemplo[0] = "Rafael"
puts "#{exemplo}" # ["Rafael"]

exemplo[1] = 10
exemplo[2] = "Roberto"
puts "#{exemplo}" # ["Rafael", 10, "Roberto"]

exemplo[0] = 50
puts "#{exemplo}" # [50, 10, "Roberto"]
exemplo = []
exemplo << "Rafael"
exemplo << "Roberto"
exemplo << 2
puts "#{exemplo}" # ["Rafael", "Roberto", 2]
exemplo = ["a", "b"]
# index     0    1

exemplo[2] = "c"
exemplo << "d"
puts "#{exemplo}" # ["a", "b", "c", "d"]
exemplo = ["a", "b"]
# index     0    1

exemplo << "c" # ["a", "b", "c"]
exemplo[2] = "d"
puts "#{exemplo}" # ["a", "b", "d"]
exemplo = []
exemplo << 10
exemplo << ["Rafael"]
puts "#{exemplo}" # [10, ["Rafael"]]
            # index 0    1

puts exemplo[1][0] #Rafael
exemplo[1][1] = "Roberto"
puts "#{exemplo[1]}" #["Rafael", "Roberto"]
exemplo[1] << "Ronaldo"
puts "#{exemplo[1]}" #["Rafael", "Roberto", "Ronaldo"]
puts "#{exemplo}" # [10, ["Rafael", "Roberto", "Ronaldo"]]
Hash
exemplo = {}

exemplo = {nome: "Rafael", idade: 30}
puts "Meu nome é #{exemplo[:nome]} e tenho #{exemplo[:idade]} anos"
exemplo = { :a => 2 }
puts exemplo[:a]

exemplo = { a: 2 }
puts exemplo[:a]

exemplo = { "a" => 2 }
puts exemplo["a"]
exemplo = {}
exemplo["teste1"] = 1
exemplo[:teste2] = 2
puts "#{exemplo}" #{"teste1"=>1, :teste2=>2}
puts exemplo["teste1"] # 1
puts exemplo[:teste1] # não existe na lista exemplo

puts exemplo[:teste2] # 2
puts exemplo["teste2"] # não existe na lista exemplo

exemplo = { "teste1" => 1, :teste2 => 2}
exemplo = {}
exemplo[:teste] = 1
puts "#{exemplo}" #{:teste=>1}
exemplo = {}
exemplo[:lista] = []
puts "#{exemplo}" #{:lista=>[]}

exemplo[:lista] << "Morango"
exemplo[:lista] << "Banana"
puts "#{exemplo}" #{:lista=>["Banana", "Morango"]}


exemplo[:nome] = "Compras"
puts "#{exemplo}" #{:lista=>["Banana", "Morango"], :nome => "Compras"}
exemplo = {nome: "Rafael", preferencias: ["Vermelho", "Preto"]}
puts exemplo[:nome]
puts exemplo[:preferencias] # Array ["Vermelho", "Preto"]
puts exemplo[:preferencias][1]
exemplo = [{ nome: "Rafael", idade: 30}, {nome: "Roberto", idade: 40}]

puts exemplo[0][:nome]
puts exemplo[0][:idade]
puts exemplo[1][:nome]
puts exemplo[1][:idade]

Exercícios

1.

Criar um hash que contenha uma chave chamada frutas com um array vazio e uma chave chamada verduras com um array vazio. Utilizando o << adicione no array correto (fruta ou verdura) os valores: banana, cenoura, uva, brocolis Imprima a lista no final.

2.

Criar uma hash simples contendo 3 chaves principais (:a, :b, “c”). :a deve conter um texto. :b deve conter um número. "c" deve um float. Imprimir o valor das chaves a,b,c separadamente em cada linha.


3.

Considerando o hash abaixo:

exemplo = {
  a: "cinquenta",
  b: "dez",
  c: [0,1,2,3,4,5,6,7,8,9]
}

Utilizando o hash acima, imprima na tela o texto cinquenta - 50 e em outra linha dez - 10.

NOTA: Você deve utilizar os numeros do array de 0 a 9 para formar o 50 e o 10.


4.

Criar e imprimir uma lista de compras com produtos de mercado, para duas pessoas diferentes, utilizando um único hash para armazenar os dados. Imprimir a lista de cada pessoa. Exemplo Rafael vai comprar: ["produto1", "produto2"] Roberto vai comprar: ["produto3", "produto4"]


5. [DESAFIO]

Considerando o hash abaixo:

exemplo = {
  fora1: {
    dentro1: "1"
  }
}

Adicionar ao hash exemplo uma nova chave fora2 que contenha a chave dentro2 com valor 2.

Imprima o hash exemplo no final: {:fora1=>{:dentro1=>"1"}, :fora2=>{:dentro2=>"2"}}


Correção dos exercícios

Comments & Social
comments powered by Disqus