- Clojure 教程
- Clojure - 首頁
- Clojure - 概述
- Clojure - 環境
- Clojure - 基本語法
- Clojure - REPL
- Clojure - 資料型別
- Clojure - 變數
- Clojure - 運算子
- Clojure - 迴圈
- Clojure - 決策
- Clojure - 函式
- Clojure - 數字
- Clojure - 遞迴
- Clojure - 檔案I/O
- Clojure - 字串
- Clojure - 列表
- Clojure - 集合
- Clojure - 向量
- Clojure - 對映
- Clojure - 名稱空間
- Clojure - 異常處理
- Clojure - 序列
- Clojure - 正則表示式
- Clojure - 斷言
- Clojure - 解構
- Clojure - 日期和時間
- Clojure - 原子
- Clojure - 元資料
- Clojure - StructMaps
- Clojure - 代理
- Clojure - 觀察者
- Clojure - 宏
- Clojure - 引用值
- Clojure - 資料庫
- Clojure - Java 介面
- Clojure - 併發程式設計
- Clojure - 應用
- Clojure - 自動化測試
- Clojure - 庫
- Clojure 有用資源
- Clojure - 快速指南
- Clojure - 有用資源
- Clojure - 討論
Clojure - 運算子
運算子是一個符號,它告訴編譯器執行特定的數學或邏輯操作。
Clojure 有以下幾種型別的運算子:
- 算術運算子
- 關係運算符
- 邏輯運算子
- 位運算子
注意 - 在 Clojure 中,運算子和運算元的工作方式如下所示。
語法
(operator operand1 operand2 operandn)
例如:
示例
(+ 1 2)
上面的例子對數字 1 和 2 進行算術運算。
算術運算子
Clojure 語言支援與任何語言相同的普通算術運算子。以下是 Clojure 中可用的算術運算子。
| 運算子 | 描述 | 示例 |
|---|---|---|
| + | 兩個運算元的加法 | (+ 1 2) 將得到 3 |
| - | 從第一個運算元中減去第二個運算元 | (- 2 1) 將得到 1 |
| * | 兩個運算元的乘法 | (* 2 2) 將得到 4 |
| / | 分子除以分母 | (float (/ 3 2)) 將得到 1.5 |
| inc | 增量運算子,用於將運算元的值增加 1 | inc 5 將得到 6 |
| dec | 減量運算子,用於將運算元的值減少 1 | dec 5 將得到 4 |
| max | 返回其引數中最大的一個 | max 1 2 3 將返回 3 |
| min | 返回其引數中最小的一個 | min 1 2 3 將返回 1 |
| rem | 第一個數字除以第二個數字的餘數 | rem 3 2 將得到 1 |
關係運算符
關係運算符允許比較物件。以下是 Clojure 中可用的關係運算符。
| 運算子 | 描述 | 示例 |
|---|---|---|
| = | 測試兩個物件之間的相等性 | (= 2 2) 將得到 true |
| not= | 測試兩個物件之間的差異 | (not= 3 2) 將得到 true |
| < | 檢查左側物件是否小於右側運算元 | (< 2 3) 將得到 true |
| <= | 檢查左側物件是否小於或等於右側運算元 | (<= 2 3) 將得到 true |
| > | 檢查左側物件是否大於右側運算元 | (> 3 2) 將得到 true |
| >= | 檢查左側物件是否大於或等於右側運算元 | (>= 3 2) 將得到 true |
邏輯運算子
邏輯運算子用於評估布林表示式。以下是 Groovy 中可用的邏輯運算子。(此處原文有誤,應為Clojure)
| 運算子 | 描述 | 示例 |
|---|---|---|
| and | 這是邏輯“與”運算子 | (or true true) 將得到 true |
| or | 這是邏輯“或”運算子 | (and true false) 將得到 false |
| not | 這是邏輯“非”運算子 | (not false) 將得到 true |
以下程式碼片段顯示瞭如何使用各種運算子。
位運算子
Clojure 提供四個位運算子。以下是 Clojure 中可用的位運算子。
| 序號 | 運算子 & 描述 |
|---|---|
| 1 |
bit-and 這是按位“與”運算子 |
| 2 |
bit-or 這是按位“或”運算子 |
| 3 |
bit-xor 這是按位“異或”或“異或”運算子 |
| 4 |
bit-not 這是按位否定運算子 |
下表是展示這些運算子的真值表。
| p | q | p&q | p | q | p ^ q |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 | 1 |
運算子優先順序
與大多數 LISPs 一樣,無需擔心運算子優先順序。這是 S-表示式和字首表示法的優點之一。所有函式都從左到右、從內到外進行計算。Clojure 中的運算子只是函式,並且所有內容都完全用括號括起來。
廣告