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 中的运算符只是函数,并且所有内容都完全用括号括起来。

广告