Les maps KC3 ressemblent aux maps Elixir : ce sont des paires clé-valeur
encadrées par %{}
.
ikc3> a = %{id: 1, title: "My title", message: "Hello, world !"}
%{id: 1,
title: "My title",
message: "Hello, world !"}
La déstructuration fonctionne dans un Map
pour extraire des valeurs.
Toutes les clés n'ont pas besoin d'être présentes.
ikc3> %{id: id, title: "My title", message: message} = ^ a
%{id: 1,
title: "My title",
message: "Hello, world !"}
ikc3> id
1
ikc3> message
"Hello, world !"
Vous pouvez utiliser la syntaxe pointée pour accéder aux valeurs depuis
une clé de type Sym
.
ikc3> a.id
1
ikc3> a.message
"Hello, world !"
La syntaxe avec crochets permet d’interroger n’importe quel type de clé.
ikc3> a[:id]
1
ikc3> a[:message]
"Hello, world !"
Vous pouvez également utiliser la fonction KC3.access
pour obtenir le
même résultat.
ikc3> a = %{id: 1, title: "My title", message: "Hello, world !"}
%{id: 1,
title: "My title",
message: "Hello, world !"}
ikc3> access(a, [:id])
1
ikc3> access(a, [:message])
"Hello, world !"
Pour modifier un Map
existant, vous pouvez utiliser Map.put
comme
ceci.
ikc3> a = %{id: 1, title: "My title"}
%{id: 1,
title: "My title"}
ikc3> a = Map.put(a, :message, "Hello, world !")
%{id: 1,
title: "My title",
message: "Hello, world !"}
Top : Documentation KC3
Précédent : 1.15 Liste
Suivant : 1.17 Ptr