Elixir cond

2023-12-14 16:44 更新

當(dāng)你想要匹配不同的值時(shí)可以用。然而,我們有時(shí)想要檢查不同的情形并找出其中第一個(gè)結(jié)果為真的。這時(shí),我們可以使用:

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

如果沒有一種情況返回為真,則拋出一個(gè)錯(cuò)誤()。所以,有必要在最后加上一個(gè)等于的最終情況: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)"

最后,注意會(huì)將任何不是或的值認(rèn)為真:condnilfalse

iex> cond do
...>   hd([1, 2, 3]) ->
...>     "1 is considered as true"
...> end
"1 is considered as true"
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)