私は2つの異なるマップを比較しようとしています。最初のものは私のモジュール内で一定である:2つの異なるマップからキーを比較します。エリクシル
@list_items %{apples: 2, orange: 1, banana: 3}
これはkey
として機能している:項目名、value
:商品の価格。
はその後、私の関数は次のようになります。
def purchase(items) do
items
|> Map.merge(@list_items)
end
は基本的に私が何をしたいのか、このです。関数内で渡されたitems
がいずれかのキーと一致する場合は、一致したマップだけを含む変更されたマップを返し、値を互いに乗算します。これは、定数に定義されている値に基づいて合計価格を返します。
test "#purchase/1" do
assert ProblemModule.purchase(%{apples: 4}) == 8
end
私はエリクシルを理解しようとしています。そして、この人為的な問題は、うまく私を助けるでしょう。
を使用することができます完璧。私はちょうどリスト内包をチェックアウトしていただけです! – Bitwise