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