Capítulo 14 — Programação funcional em coleções
Parte 1A — Aprender Dart · Capítulo 14 de 62 · 6 h
Capítulo 14 — Programação funcional em coleções
Nível: intermediário Duração estimada: 6 h Pré-requisitos: capítulo 05 (laços), capítulo 06 (coleções), capítulo 07 (funções), capítulo 13 (exceções) O que você saberá fazer ao final: transformar, filtrar, ordenar e resumir qualquer lista de jogadores, inimigos ou itens de inventário em poucas linhas declarativas, sem escrever um único laço
for.
14.0 — Objetivos do capítulo
Ao final deste capítulo, você será capaz de:
- distinguir o estilo imperativo (como fazer) do estilo declarativo (o que obter);
- escrever uma função anônima e uma função de seta para passá-las a um método;
- percorrer uma coleção com
forEach(); - transformar uma coleção com
map(), inclusive mudando de tipo; - explicar o que é um
Iterablee por quetoList()costuma ser obrigatório; - filtrar uma coleção com
where(); - procurar um elemento com
firstWhere(),lastWhere(),singleWhere()eindexWhere(); - responder a uma pergunta de sim ou não com
any(),every()econtains(); - reduzir uma coleção a um único valor com
reduce()efold(); - escolher entre
reduce()efold()com conhecimento de causa; - ordenar uma lista com
sort()e escrever um comparador; - usar
compareTo()em números e em textos; - ordenar objetos por pontuação, por nome e depois por vários critérios;
- ordenar uma cópia sem modificar a lista original;
- fatiar uma coleção com
take()eskip(); - achatar listas aninhadas com
expand(); - remover duplicatas com
toSet(); - montar uma coleção em texto com
join(); - usar o spread operator
...e sua versão nullable...?; - escrever um
ife umfordiretamente dentro de uma lista literal; - encadear várias operações em uma única expressão legível;
- decidir, com critérios claros, quando é melhor voltar a um laço
for.
Comentários
Os comentários são alimentados pelo GitHub Discussions
Conecte-se com o GitHub para participar da discussão