Elixir cond

2023-12-14 16:44 更新

当你想要匹配不同的值时可以用。然而,我们有时想要检查不同的情形并找出其中第一个结果为真的。这时,我们可以使用:

casecond
iex> cond do
...>   2 + 2 == 5 ->
...>     "This will not be true"
...>   2 * 2 == 3 ->
...>     "Nor this"
...>   1 + 1 == 2 ->
...>     "But this will"
...> end
"But this will"

这和许多命令语言中的从句是一样的(虽然在这里不经常用到)。else if

如果没有一种情况返回为真,则抛出一个错误()。所以,有必要在最后加上一个等于的最终情况:CondClauseErrortrue

iex> cond do
...>   2 + 2 == 5 ->
...>     "This is never true"
...>   2 * 2 == 3 ->
...>     "Nor this"
...>   true ->
...>     "This is always true (equivalent to else)"
...> end
"This is always true (equivalent to else)"

最后,注意会将任何不是或的值认为真:condnilfalse

iex> cond do
...>   hd([1, 2, 3]) ->
...>     "1 is considered as true"
...> end
"1 is considered as true"
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号