Nesta aula iremos aprender um objeto muito importante para programadores ruby. O Hash te ajuda a mapear os dados de uma forma muito simples.

Hash

O que é um Hash?

Um Hash é uma coleção do tipo dicionário, onde tem uma estrutura de chave-valor.

Como definir um Hash:

       a = {nome:'Danilo', tel:3333}
    
Onde e onde devo utilizar?

Deve-se utilizar onde há necessidade de dados mapeados.

Pode-se retornar os dados da seguinte forma:

       puts a[:nome]
    

Estrutura de Hash legada(mais antiga, Ruby menor que 1.9)

      {nome => 'Danilo'}
    

Aula Prática

Como de praxe copie o arquivo padrão das aulas anteriores para seguir conforme o padrão.

      
        require 'byebug'

        a = {}

        debugger

        puts a
      
    
      
        require 'byebug'

        a = {nome:'Danilo'}

        debugger

        puts a
      
    
      
        {:nome=>"Danilo", :tel=>3333}
      
    

A chave do Hash como um Symbol utiliza-se os dois pontos: para acessar.

      
        require 'byebug'

        a = {nome:'Danilo'}

        debugger

        puts a[:nome]
        puts a[:tel]
      
    

A chave do Hash como um String utiliza-se as aspas "" para acessar.

      
        require 'byebug'

        a = {}
        a["nome"] = 'Danilo'
        a["tel"] = 3333

        debugger

        puts a["nome"]
        puts a["tel"]
      
    

Existe a possibilidade de converter um String para Symbol com .to_sym para converter.

      
        require 'byebug'

        a = {}
        a["nome".to_sym] = 'Danilo'
        a["tel".to_sym] = 3333

        debugger

        puts a[:nome]
        puts a[:tel]
      
    

Programa simples utilizando os conceitos aprendidos.

      
        require 'byebug'

        loop do
        puts "Bem vindo ao programa"
        puts "Digite 0 para sair ou 1 para continuar"
    
        valor = gets.to_i
        
        break if(valor == 0)
    
        alunos = []
    
        3.times do
          aluno = {}
    
          puts "Digite o nome do aluno"
          aluno[:nome] = gets.delete("\n")
    
          puts "Digite o telefone do aluno"
          aluno[:tel] = gets.delete("\n")
          alunos << aluno
        end
    
        alunos.each do |aluno|
          puts "==============================================}"
          puts "aluno: #{aluno[:nome]}, telefone: #{aluno[:tel]}"
        end 
      end
        
      
    



Próximas Aulas


Funções

Nesta aula iremos aprender como criar e estruturar uma função em ruby,...

Funções recursivas

Nesta aula iremos aprender um pouco mais sobre funções, iremos ver mai...

Orientação a objetos - instância e construtor

Nesta aula iremos aprender o como criar uma classe, uma instância e a ...

Orientação a Objetos - Accessors

Nesta aula iremos aprender como criar propriedades em uma classe ruby,...

Orientação a Objetos - Herança

Nesta aula iremos aprender sobre herança, mais uma aula de orientação ...

Orientação a Objetos - public, private, protected

Nesta aula iremos aprender as marcações public, private, protected e v...

Orientação a objetos - Polimorfismo e Overload

Nesta aula iremos aprender como fazer polimorfismo no Ruby, também ire...

Orientação a Objetos - Interface, Abstração, Singleton

Nesta aula iremos aprender como implementar Interface, Abstração e cla...



Danilo

Arquiteto de software, analista, programador, professor. Danilo criou o projeto torne-se um programador, para passar o seu conhecimento para a nova geração. Com o intuito de ser um bom pai, Danilo trabalha muito motivado para garantir o futuro de sua filha.

ELEVE SEUS GANHOS E POTENCIALIZE SUA PERFORMANCE

Receba nossa Ebook de LÓGICA DE PROGRAMAÇÃO

© Didox Business & Technology - CNPJ: 12.127.195/0001-14