Recherche…


Syntaxe

  • map =% {} // crée une carte vide
  • map =% {: a => 1,: b => 2} // crée une carte non vide
  • list = [] // crée une liste vide
  • list = [{: a, 1}, {: b, 2}] // crée une liste de mots-clés non vide

Remarques

Elixir fournit deux structures de données associatives: les cartes et les listes de mots clés .

Les cartes sont du type clé-valeur Elixir (également appelé dictionnaire ou hachage dans d'autres langues).

Les listes de mots-clés sont des tuples de clé / valeur qui associent une valeur à une clé donnée. Ils sont généralement utilisés comme options pour un appel de fonction.

Créer une carte

Les cartes sont du type clé-valeur Elixir (également appelé dictionnaire ou hachage dans d'autres langues). Vous créez une carte en utilisant la syntaxe %w{} :

%{} // creates an empty map
%{:a => 1, :b => 2} // creates a non-empty map

Les clés et les valeurs peuvent utiliser n'importe quel type:

%{"a" => 1, "b" => 2}
%{1 => "a", 2 => "b"}

De plus, vous pouvez avoir des cartes avec des types mixtes pour les clés et les valeurs ":

// keys are integer or strings
%{1 => "a", "b" => :foo}
// values are string or nil
%{1 => "a", 2 => nil}

Lorsque toutes les clés d'une carte sont des atomes, vous pouvez utiliser la syntaxe du mot clé pour plus de commodité:

%{a: 1, b: 2}

Création d'une liste de mots clés

Les listes de mots-clés sont des tuples de clé / valeur, généralement utilisés comme options pour un appel de fonction.

[{:a, 1}, {:b, 2}] // creates a non-empty keyword list

La même clé peut être répétée plusieurs fois.

[{:a, 1}, {:a, 2}, {:b, 2}]
[{:a, 1}, {:b, 2}, {:a, 2}]

Les clés et les valeurs peuvent être de tout type:

[{"a", 1}, {:a, 2}, {2, "b"}]

Différence entre les cartes et les listes de mots clés

Les cartes et les listes de mots-clés ont une application différente. Par exemple, une carte ne peut pas avoir deux clés de même valeur et elle n'est pas ordonnée. Inversement, une liste de mots-clés peut être un peu difficile à utiliser dans certains cas.

Voici quelques cas d'utilisation pour les cartes et les listes de mots clés.

Utilisez les listes de mots-clés lorsque:

  • vous avez besoin des éléments à commander
  • vous avez besoin de plus d'un élément avec la même clé

Utilisez des cartes lorsque:

  • vous voulez faire correspondre les modèles à certaines clés / valeurs
  • vous n'avez pas besoin de plus d'un élément avec la même clé
  • chaque fois que vous n'avez pas explicitement besoin d'une liste de mots clés


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow