Elixir Language
Structures de données
Recherche…
Syntaxe
[tête | tail] = [1, 2, 3, true] # on peut utiliser la correspondance de motifs pour briser des cellules. Cela assigne la tête à 1 et la queue à [2, 3, vrai]
% {d: val} =% {d: 1, e: true} # cela assigne val à 1; Aucune variable d n'est créée car le d sur le lhs n'est en réalité qu'un symbole utilisé pour créer le motif% {: d => _} en rubis)
Remarques
En ce qui concerne notre structure de données, voici quelques brèves remarques.
Si vous avez besoin d'une structure de données matricielle, vous devrez écrire beaucoup de listes d'utilisation. Si, au contraire, vous allez lire beaucoup, vous devriez utiliser des tuples.
En ce qui concerne les cartes, elles représentent simplement la manière dont vous stockez les clés.
Des listes
a = [1, 2, 3, true]
Notez que ceux-ci sont stockés en mémoire en tant que listes liées. Id est une série de contre-cellules où la tête (List.hd / 1) est la valeur du premier élément de la liste et la queue (List.tail / 1) est la valeur du reste de la liste.
List.hd(a) = 1
List.tl(a) = [2, 3, true]
Tuples
b = {:ok, 1, 2}
Les tuples sont l'équivalent des tableaux dans d'autres langues. Ils sont stockés de manière contiguë dans la mémoire.