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 中的運算子只是函式,並且所有內容都完全用括號括起來。

廣告
© . All rights reserved.