Elixir Language
Datenstrukturen
Suche…
Syntax
[Kopf | tail] = [1, 2, 3, true] # man kann Pattern Matching verwenden, um Kons-Zellen aufzubrechen. Dies weist Kopf zu 1 und Schwanz zu [2, 3, wahr] zu.
% {d: val} =% {d: 1, e: true} # dieser Wert wird 1 zugewiesen; Es wird keine Variable d erstellt, da das d auf dem lhs eigentlich nur ein Symbol ist, das zum Erstellen des Musters% {: d => _} verwendet wird in Rubin)
Bemerkungen
Zu welcher Datenstruktur wir hier einige kurze Anmerkungen machen.
Wenn Sie eine Array-Datenstruktur benötigen, müssen Sie häufig Listen schreiben. Wenn Sie stattdessen viel lesen, sollten Sie Tupel verwenden.
Bei Karten handelt es sich lediglich um das Speichern von Schlüsselwerten.
Listen
a = [1, 2, 3, true]
Beachten Sie, dass diese als verknüpfte Listen gespeichert werden. Dies ist eine Reihe von Konsumzellen, bei denen der Kopf (List.hd / 1) der Wert des ersten Elements der Liste ist und das Ende (List.tail / 1) der Wert des Restes der Liste ist.
List.hd(a) = 1
List.tl(a) = [2, 3, true]
Tuples
b = {:ok, 1, 2}
Tupel entsprechen Arrays in anderen Sprachen. Sie werden zusammenhängend im Speicher abgelegt.