LISP - 比较运算符

下表显示了 LISP 支持的所有在数字之间进行比较的关系运算符。 然而,与其他语言中的关系运算符不同,LISP 比较运算符可能需要两个以上的操作数,并且它们仅适用于数字。

假设变量 A 为 10,变量 B 为 20,则 −

运算符 描述 示例
= 检查操作数的值是否全部相等,如果相等则条件成立。 (= A B) 不成立。
/= 检查操作数的值是否全部不同,如果值不相等则条件成立。 (/= A B) 成立。
> 检查操作数的值是否单调递减。 (> A B) 不成立。
< 检查操作数的值是否单调递增。 (< A B) 成立。
>= 检查任何左操作数的值是否大于或等于下一个右操作数的值,如果是,则条件为 true。 (>= A B) 不成立。
<= 检查任何左操作数的值是否小于或等于其右操作数的值,如果是,则条件为 true。 (<= A B) 成立。
max 它比较两个或多个参数并返回最大值。 (max A B)返回 20
min 它比较两个或多个参数并返回最小值。 (min A B)返回 10

示例

创建一个名为 main.lisp 的新源代码文件,并在其中键入以下代码。

(setq a 10)
(setq b 20)
(format t "~% A = B is ~a" (= a b))
(format t "~% A /= B is ~a" (/= a b))
(format t "~% A > B is ~a" (> a b))
(format t "~% A < B is ~a" (< a b))
(format t "~% A >= B is ~a" (>= a b))
(format t "~% A <= B is ~a" (<= a b))
(format t "~% Max of A and B is ~d" (max a b))
(format t "~% Min of A and B is ~d" (min a b))

当你点击执行按钮,或者输入Ctrl+E,LISP立即执行,返回结果为 −

A = B is NIL
A /= B is T
A > B is NIL
A < B is T
A >= B is NIL
A <= B is T
Max of A and B is 20
Min of A and B is 10

❮ lisp_operators.html