09 · Estruturas de Dados
Compreensões de maps
Construa maps com entradas for e if dentro de #{ }. Chaves calculadas usam [expressão]: valor. Iteráveis, chaves e valores executam uma vez na ordem escrita; chaves repetidas seguem a substituição normal de maps. Bindings do loop e filtro ficam na própria entrada.
Nesta página
Construa maps com entradas for e if dentro de #{ }. Chaves calculadas usam [expressão]: valor. Iteráveis, chaves e valores executam uma vez na ordem escrita; chaves repetidas seguem a substituição normal de maps. Bindings do loop e filtro ficam na própria entrada.
Exemplo completo
Compreensões de maps.
map_builders.zolo
struct User { id: int, name: str, enabled: bool }
let users = [
User { id: 1, name: "Ada", enabled: true },
User { id: 2, name: "Lin", enabled: false },
]
let names = #{for user in users => [user.id]: user.name}
let active_names = #{for user in users => if user.enabled => [user.id]: user.name}
print(names[2])
print(active_names[1])
Regras e comportamento
Records, maps e atualizações · Documentação
A partir de um checkout do repositório:
zolo examples/features/map_builders.zolo
Veja também