Sök…


Syntax

  • map =% {} // skapar en tom karta
  • karta =% {: a => 1,: b => 2} // skapar en icke tom karta
  • list = [] // skapar en tom lista
  • list = [{: a, 1}, {: b, 2}] // skapar en icke-tom sökordslista

Anmärkningar

Elixir tillhandahåller två associativa datastrukturer: kartor och nyckelordslistor .

Kartor är Elixir-nyckelvärdet (även kallad ordbok eller hash på andra språk).

Nyckelordslistor är delar av nyckel / värde som kopplar ett värde till en viss nyckel. De används vanligtvis som alternativ för ett funktionssamtal.

Skapa en karta

Kartor är Elixir-nyckelvärdet (även kallad ordbok eller hash på andra språk). Du skapar en karta med %w{} syntax:

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

Nycklar och värden kan användas av alla typer:

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

Dessutom kan du ha kartor med blandade typer för både nycklar och värden ":

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

När alla nycklar på en karta är atomer kan du använda nyckelordssyntaxen för bekvämlighet:

%{a: 1, b: 2}

Skapa en sökordslista

Nyckelordslistor är nycklar / värde, som vanligtvis används som alternativ för ett funktionssamtal.

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

Nyckelordslistor kan ha samma nyckel som upprepas mer än en gång.

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

Nycklar och värden kan vara av alla slag:

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

Skillnad mellan kartor och sökordslistor

Kartor och nyckelordslistor har olika tillämpningar. Till exempel kan en karta inte ha två nycklar med samma värde och den är inte beställd. Omvänt kan en nyckelordslista vara lite svår att använda i mönstermatchning i vissa fall.

Här är några användningsfall för kartor kontra nyckelordslistor.

Använd sökordslistor när:

  • du behöver elementen som ska beställas
  • du behöver mer än ett element med samma nyckel

Använd kartor när:

  • du vill mönster-matcha mot vissa tangenter / värden
  • du behöver inte mer än ett element med samma nyckel
  • när du inte uttryckligen behöver en sökordslista


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow