- Elixir 教程
- Elixir - 首頁
- Elixir - 概述
- Elixir - 環境配置
- Elixir - 基本語法
- Elixir - 資料型別
- Elixir - 變數
- Elixir - 運算子
- Elixir - 模式匹配
- Elixir - 決策
- Elixir - 字串
- Elixir - 字元列表
- Elixir - 列表和元組
- Elixir - 關鍵字列表
- Elixir - 對映
- Elixir - 模組
- Elixir - 別名
- Elixir - 函式
- Elixir - 遞迴
- Elixir - 迴圈
- Elixir - 可列舉
- Elixir - 流
- Elixir - 結構體
- Elixir - 協議
- Elixir - 檔案 I/O
- Elixir - 程序
- Elixir - 符號
- Elixir - 列表推導
- Elixir - 型別說明
- Elixir - 行為
- Elixir - 錯誤處理
- Elixir - 宏
- Elixir - 庫
- Elixir 有用資源
- Elixir - 快速指南
- Elixir - 有用資源
- Elixir - 討論
Elixir - 邏輯運算子
Elixir 提供 6 個邏輯運算子:and、or、not、&&、|| 和 !。前三個,and、or、not 是嚴格的布林運算子,這意味著它們期望它們的第一個引數是布林值。非布林引數將引發錯誤。而接下來的三個,&&、|| 和 !是非嚴格的,不需要我們第一個值嚴格為布林值。它們的工作方式與它們的嚴格對應物相同。假設變數A為真,變數B為 20,則:
| 運算子 | 描述 | 示例 |
|---|---|---|
| and | 檢查提供的兩個值是否都為真值,如果是,則返回第二個變數的值。(邏輯與) | A and B 將返回 20 |
| or | 檢查提供的任何一個值是否為真值。返回任何一個真值。否則返回 false。(邏輯或) | A or B 將返回 true |
| not | 一元運算子,反轉給定輸入的值。 | not A 將返回 false |
| && | 非嚴格and。工作方式與and相同,但不期望第一個引數為布林值。 | B && A 將返回 20 |
| || | 非嚴格or。工作方式與or相同,但不期望第一個引數為布林值。 | B || A 將返回 true |
| ! | 非嚴格not。工作方式與not相同,但不期望引數為布林值。 | !A 將返回 false |
注意 - and、or、&& 和 || 是短路運算子。這意味著如果and的第一個引數為假,則它不會進一步檢查第二個引數。如果or的第一個引數為真,則它不會檢查第二個引數。例如:
false and raise("An error")
#This won't raise an error as raise function wont get executed because of short
#circuiting nature of and operator.
示例
嘗試以下程式碼來理解 Elixir 中的所有算術運算子。
a = true
b = 20
IO.puts("a and b " <> to_string(a and b))
IO.puts("a or b " <> to_string(a or b))
IO.puts("not a " <> to_string(not a))
IO.puts("b && a" <> to_string(b && a))
IO.puts("b || a " <> to_string(b || a))
IO.puts("!a " <> to_string(!a))
以上程式生成以下結果:
a and b 20 a or b true not a false b && a true b || a 20 !a false
elixir_operators.htm
廣告