Enumerable Ruby: map
O curso trata do método map do Ruby, que roda um bloco uma vez por elemento e junta cada resultado num array novo do mesmo tamanho. Ele compara map com each, mostra que map num hash devolve um array e explica como voltar a ter um hash com to_h ou transform_values. As aulas também cobrem o encadeamento com uniq, compact e sort, a transformação no lugar com map!, o alias collect e os erros comuns. Um desafio final monta um pequeno normalizador de notas.
O que você vai aprender
- ✓Como o map junta os resultados do bloco num array novo
- ✓Escolher entre map e each pelo destino do resultado do bloco
- ✓Usar map em hashes com to_h, e quando usar transform_values
- ✓Encadear map com uniq, compact, sort e outros métodos de array
- ✓Quando o map! serve e por que o map simples é o padrão mais seguro
- ✓O alias collect e as armadilhas comuns do map
map transforma todo elemento
O curso anterior definiu o trabalho do each: rodar código uma vez por elemento pelos efeitos colaterais e devolver a mesma coleção. O map faz o trabalho oposto.
Ler a aula completa grátis →Currículo
7 aulasmap transforma todo elemento
O map junta cada resultado do bloco num array novo do mesmo tamanho e deixa o original intocado.
map vs each
Use each para efeitos colaterais e map para uma coleção nova, conforme o destino do resultado do bloco.
map em hashes
map num hash devolve um array; para ter um hash de volta, use to_h ou transform_values.
Encadeando map com outros métodos
Como o map devolve um array comum, métodos como uniq, compact e sort se encadeiam nele passo a passo.
map!: transformando no lugar
O map! reescreve o array original no lugar e altera o array de quem chamou, por isso o map simples é mais seguro.
collect e armadilhas comuns
collect é um alias de map; os erros comuns são descartar o resultado, terminar em puts e esperar filtragem.
Juntando tudo: um pequeno desafio
Um normalizador de notas combina map, to_h, compact e uma guard clause, seguido de um exercício para escrevê-lo.