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"

這和許多命令語言中的從句是一樣的(雖然在這里不經(jīng)常用到)。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"
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號