cod*_*ers 1 elixir conditional-statements
我想将以下函数放入一个函数中:
def discount(:standard), do: &standard/1
def discount(:bronze), do: &bronze/1
def discount(:silver), do: &silver/1
def discount(:gold), do: &gold/1
Run Code Online (Sandbox Code Playgroud)
像这样的东西:
def discount(:rank) do
cond do
:standard -> &Shop.standard/1
:bronze -> &Shop.bronze/1
:silver -> &Shop.silver/1
:gold -> &Shop.gold/1
end
end
Run Code Online (Sandbox Code Playgroud)
但是如何将函数参数:rank与 cond 语句中的原子进行匹配/比较?比较==对我来说也不起作用。
cond评估布尔条件。如果你想这样匹配,请使用case:
def discount(rank) do
case rank do
:standard -> &Shop.standard/1
:bronze -> &Shop.bronze/1
:silver -> &Shop.silver/1
:gold -> &Shop.gold/1
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
378 次 |
| 最近记录: |