Elixir Language
Struktury danych
Szukaj…
Składnia
[głowa | tail] = [1, 2, 3, true] # można użyć dopasowania wzorca do rozbicia przeciwnych komórek. To przypisuje głowę do 1, a ogon do [2, 3, true]
% {d: val} =% {d: 1, e: true} # to przypisuje val do 1; żadna zmienna d nie jest tworzona, ponieważ d na lhs jest tak naprawdę tylko symbolem używanym do utworzenia wzoru% {: d => _} (zauważ, że notacja rakietowa hash pozwala mieć nie-symbole jako klucze do map tak jak w rubinie)
Uwagi
Jeśli chodzi o strukturę danych, oto kilka krótkich uwag.
Jeśli potrzebujesz struktury danych tablicowych, jeśli zamierzasz dużo pisać, użyj list. Jeśli zamiast tego będziesz dużo czytać, powinieneś użyć krotek.
Jeśli chodzi o mapy, to po prostu sposób, w jaki robisz kluczowe magazyny wartości.
Listy
a = [1, 2, 3, true]
Pamiętaj, że są one przechowywane w pamięci jako listy połączone. Jest to seria komórek przeciw, w których nagłówek (List.hd / 1) jest wartością pierwszego elementu listy, a ogon (List.tail / 1) to wartość reszty listy.
List.hd(a) = 1
List.tl(a) = [2, 3, true]
Krotki
b = {:ok, 1, 2}
Krotki są odpowiednikami tablic w innych językach. Są one przechowywane w pamięci w sposób ciągły.