Exercícios: Aula 11 - Programação Funcional 🚀
🟢 Básico
- Closure Simples: Crie uma closure que receba um número e retorne o seu quadrado. Use-a em uma variável.
- Iterador Básico: Crie um vetor de 1 a 10. Use o método
.iter()e um loopforpara imprimir cada valor multiplicado por 2.
🟡 Intermediário
- Filtragem de Dados: Use
.iter(),.filter()e.collect()para criar um novo vetor contendo apenas os números pares de um vetor original. - Soma com Fold: Pesquise o método
.fold()(ou.sum()) dos iteradores e use-o para calcular a soma de todos os elementos de um vetor sem usar loopsforouwhile.
🔴 Desafio
- Pipeline de Strings: Dado um vetor de strings
vec!["maçã", "banana", "uva", "abacaxi"], crie um pipeline que:- Filtre apenas as frutas com mais de 4 letras.
- Transforme todas em letras maiúsculas (uppercase).
- Colete o resultado em um novo
Vec<String>.
📚 Gabarito e Soluções Comentadas
Gabarito Explicado
### Questão 1: Closure Simples **Resolução e Implementação:**// Estrutura de implementação recomendada para Closure Simples
// Validação de regras de negócio e retorno consistente
// Estrutura de implementação recomendada para Iterador Básico
// Validação de regras de negócio e retorno consistente
// Estrutura de implementação recomendada para Filtragem de Dados
// Validação de regras de negócio e retorno consistente