Mapas
Map
são estruturas de dados no modelo chave valor (dicionário) que aceitam todos os tipos de dados. A definição dela segue o modelo %{}
e os valores vão dentro das chaves.
Vamos criar uma estrutura simples:
Rodando esse código o test passará, mas dará um aviso que algo deu errado, no nosso caso, é a linha 26
, que dispara um erro dizendo que não existe o elemento nonexistent_element
.
A função assert_raise/2
lida com expectativas de exceção do código, podendo fazer parte do teste para garantirmos o comportamento correto.
Existem diversas formas de lidar com Map, bastante entender como fica melhor para você.
Alterar valores
Tendo uma vez o Map criado, podemos também alterar os valores.
Imutabilidade Elixir é uma linguagem que utiliza o conceito de imutabilidade. Isso quer dizer que não podemos alterar valores ja definidos. Sempre que precisarmos fazer isso, devemos responder um novo elemento e re-assinar na estrutura de dados que estamos. Exemplo
data = %{ name: "Iago" }
new_data = %{data | name: "Elixir"}
a variáveldata
nunca será alterará, se quiser usar o valor novo, precisamos substituir o antigo pelo novo, onde perderemos tudo do valor inicial.
Conclusão
Existem diversas outras funções de apoio ao Map, voce poderá ver elas acessando esse link. Vimos aqui formas de criar, alterar e acessar dados de um Map. Também falamos um pouco sobre imutabilidade, conceito importante em linguagens funcionais.
Last updated