如果说逻辑运算符可能与流行语言之间最常见的相似之处,那么毫无疑问,Elixir也有它们。 提供了if
, case
和cond
宏来为我们提供控制流结构。
对于模式匹配,我们之前提到过,用case
可以迭代地匹配任何模式:
iex> checkUser = 'simon'
'simon'
iex> case {checkUser} do
...> {'simon'} ->
...> 'User Match - Simon'
...> {'mary'} ->
...> 'User Match - Mary'
...> _ ->
...> 'This will match any value.. use as a catch-all'
...> end
'User Match - Simon'
值得一提的是_
情况,这实际上是默认的万能情况。 这种情况也可以与atom
或类似的任何变量类型一起使用。
iex> case {:user} do
...> {:user} ->
...> 'User Match'
...> _ ->
...> 'No match'
...> end
'User Match'
警卫队条款表达
Elixir提供了许多运算符来检入我们的表达式,以防止捕获错误的数据。 默认情况下,支持以下内容:
- 比较运算符(
==
,!=
,===
,!==
,>
,>=
,<
,<=
) <