Я хочу поместить следующие функции в одну функцию:
def discount(:standard), do: &standard/1
def discount(:bronze), do: &bronze/1
def discount(:silver), do: &silver/1
def discount(:gold), do: &gold/1
Примерно так:
def discount(:rank) do
cond do
:standard -> &Shop.standard/1
:bronze -> &Shop.bronze/1
:silver -> &Shop.silver/1
:gold -> &Shop.gold/1
end
end
Но как мне сопоставить / сравнить параметр функции :rank
атомам в моем утверждении cond? Сравнение с ==
мне тоже не помогает.