2015-06-27 12 views
6

Fangen Sie einfach mit Elixir Buch von Dave Thomas.Elixir - Unterschied zwischen Keyword-Listen und Karten

Er spricht über zwei Konzepte:

Keyword-Listen

[ name: "Dave", city: "Dallas", likes: "Programming" ] 

Karten

states = %{ "AL" => "Alabama", "WI" => "Wisconsin" } 

Wann möchten Sie einen über den anderen wählen?

+1

mögliche Duplikate von [Was ist der Vorteil von Keyword-Listen?] (Http://stackoverflow.com/questions/28180366/what-is-the-benefit-of-keyword-lists) – whatyouhide

+0

Danke. Ich habe den Link gelesen. Obwohl ich den technischen Unterschied verstanden habe, bin ich immer noch nicht ganz sicher, wann Sie einen über den anderen verwenden werden. –

+4

Schlüsselwortlisten, Erbe von Erlang, werden verwendet, um eher statische Sammlungen von Werten wie Optionen, Funktionsargumente und Ähnlichem herumzureichen. Sie sind nur Listen, daher haben sie nicht die Eigenschaften, nach denen Sie normalerweise suchen, wenn Sie eine assoziative Datenstruktur auswählen, z. B. konstanten Zeitzugriff. Karten auf der anderen Seite sind Ihre bevorzugte Waffe zum Speichern und Verarbeiten von Nutzdaten. –

Antwort

6

Es gibt ein Kapitel im Leitfaden zur Inbetriebnahme eines schnellen Überblick: http://elixir-lang.org/getting-started/maps-and-dicts.html

Um es zusammenzufassen, sind Keyword-Listen für Optionen verwendet oder wenn Sie Benutzer Bestellung erhalten müssen. Verwenden Sie zum Speichern tatsächlicher Daten Karten.