Arrays e Hashes com Ruby[AULA 4]

23
Lógica de Programação com Ruby Array’s e Hashes Ricardo Silva

Transcript of Arrays e Hashes com Ruby[AULA 4]

Page 1: Arrays e Hashes com Ruby[AULA 4]

Lógica de Programação com Ruby

Array’s e Hashes

Ricardo Silva

Page 2: Arrays e Hashes com Ruby[AULA 4]

O que são e para que servem?

- De modo geral são coleções(listas) de elementos identificados por ao menos um índice ou uma chave

- No Ruby os arrays não possuem um limite de elementos, eles crescem conforme a necessidade.

Page 3: Arrays e Hashes com Ruby[AULA 4]
Page 4: Arrays e Hashes com Ruby[AULA 4]

Declarando e utilizando arrays

Page 5: Arrays e Hashes com Ruby[AULA 4]

Recusos do Array

- Quando utilizamos Arrays ganhamos com ele alguns recursos bem legais:

Page 6: Arrays e Hashes com Ruby[AULA 4]

O first e o last são alguns deles

Page 7: Arrays e Hashes com Ruby[AULA 4]

Utilizando “ << “ para adicionar elementos em arrays

Page 8: Arrays e Hashes com Ruby[AULA 4]

Podemos adicionar diferentes tipos de dados em um Array?

- Sim. Ruby é uma linguagem com tipagem dinâmica, lembra?

Page 9: Arrays e Hashes com Ruby[AULA 4]
Page 10: Arrays e Hashes com Ruby[AULA 4]

Percorrendo nosso Array

- Quando utilizamos o comando puts seguido do nosso array herois , todos os valores do nosso array foram impressos. Mas e se fosse preciso percorrer nosso array e imprimir somente alguns desses elementos?

- Digamos que é queremos imprimir somente os elementos

“Batman” e “Superman”, como podemos resolver isso?

Page 11: Arrays e Hashes com Ruby[AULA 4]

Podemos usar o comando .each para percorrer nosso array, extraindo elemento por elemento e verificando se o elemento em questão é igual a “Batman” ou “Superman

Page 12: Arrays e Hashes com Ruby[AULA 4]

Utilizando o for

Também podemos utilizar o for para percer esse array.

Page 13: Arrays e Hashes com Ruby[AULA 4]

Trabalhando com Hashes

- Arrays são ótimos, mas não resolvem todos os nossos problemas.

- E se nossa lista de herois aumentasse um pouco mais? E se nós precisassemos dividir esses heróis por gênero?

Page 14: Arrays e Hashes com Ruby[AULA 4]

Hashes podem nos ajudar

Page 15: Arrays e Hashes com Ruby[AULA 4]

- Para declarar um hash nós só precisamos fazer algumas alterações. No lugar dos colchetes( [] ), por exemplo, utilizamos chaves ( {} ).

- :homens: e :mulheres são Symbols, que se parece com um nome de variável, mas prefixado por dois pontos(:). Aqui

nós utilizamos eles para definir as duas categorias possíveis. Depois utilizamos colchetes ( [] ) para passar uma lista de elementos pertecentes aquela categoria(o uso do colchete só é necessário caso existam mais de um elemento pertecente a um Symbol)

Page 16: Arrays e Hashes com Ruby[AULA 4]
Page 17: Arrays e Hashes com Ruby[AULA 4]

Os métodos values

- Da mesma forma que arrays nos entregam alguns recursos próprios, os hashes também fazem isso. Podemos citar como exemplo o values

Page 18: Arrays e Hashes com Ruby[AULA 4]

Values

- Utilizado quando precisamos obter todos os valores de um determinado hash, esse método retorna todos os valores dentro de um hash dentro de um array , independente dos symbols

Page 19: Arrays e Hashes com Ruby[AULA 4]
Page 20: Arrays e Hashes com Ruby[AULA 4]

- Para adicionar elementos no hash e percorrer o mesmo fazemos isso de forma muito parecida com arrays.

- Vamos tentar buscar no nosso hash somente o herói que se chamar Batman ou Mulher Gavião e que pertença a categoria homens. Perceba que Mulher Gavião está no nosso hash, mas não está em homens, então ela não deverá ser impressa na tela

Page 21: Arrays e Hashes com Ruby[AULA 4]
Page 22: Arrays e Hashes com Ruby[AULA 4]

Exercicios

1- Faça um programa que receba o nome de 10 pessoas e imprima na tela todas as pessoas pessoas cadastradas

2 - Crie um algoritmo em que o usuario entre com 10 letras. Após isso o usuário deverá informar qual a letra deseja procurar nessa lista e o programa deverá dizer se essa letra está ou não está na lista.

Page 23: Arrays e Hashes com Ruby[AULA 4]

Mais exercícios

3 - Escreva um programa que o usuário informe 5 valores e o programa exiba esses valores em ordem crescente

4 - Crie um programa que receba 15 valores e ao final informe qual é o maior e qual o menor valor informado

5 - Vc precisa criar um sistema que receba o nome e o gênero da pessoa. Essas pessoas cadastradas precisam ser exibidas em uma lista onde de um lado constarão somente as pessoas do gênero masculino, e do outro, do gênero feminino