Ich versuche, zwei verschiedene Karten zu vergleichen. Die erste ist eine Konstante in meinem Modul:Vergleichen Sie Schlüssel aus zwei verschiedenen Karten. Elixir
@list_items %{apples: 2, orange: 1, banana: 3}
Dieser fungiert als key
: Artikelname, value
: Artikelpreis.
Dann sieht meine Funktion wie folgt aus:
def purchase(items) do
items
|> Map.merge(@list_items)
end
Im Grunde, was ich tun möchte, ist dies. Wenn der in der Funktion übergebene Wert items
mit einem der Schlüssel übereinstimmt, wird eine modifizierte Zuordnung zurückgegeben, die nur die übereinstimmende Zuordnung enthält, und die Werte werden miteinander multipliziert. Dies sollte den Gesamtpreis basierend auf dem, was in der Konstante definiert ist, zurückgeben. Hier ist ein Test zu klären:
test "#purchase/1" do
assert ProblemModule.purchase(%{apples: 4}) == 8
end
Ich versuche Elixir zu verstehen. Und dieses konstruierte Problem wird mir hoffentlich helfen.
Wow verwenden könnte, der ist perfekt. Ich habe gerade auch Listen-Listen gelesen! – Bitwise