嗨,我是 Common Lisp 的初学者。我想检查两个变量是否是整数。如果 n 和 m 都是整数,我希望它返回,-如果它是负数,0如果它是零,+如果它是正数,NIL如果它不是 n 和 m 的整数。我想出了如何用一个变量来做到这一点,但我似乎无法弄清楚如何用两个变量来做到这一点。谢谢。
这是接受数字参数并返回的代码,-如果它是负数,0如果它是零,+如果它是正数,NIL如果它不是整数:
(defun sign (n)
(if(typep n 'integer)
(cond ((< n 0) '-)
((= n 0) 0)
((> n 0) '+))))
Run Code Online (Sandbox Code Playgroud)
每个案例的输出是:
CL-USER> (sign 3)
+
CL-USER> (sign -3)
-
CL-USER> (sign 0)
0
CL-USER> (sign 3.3)
NIL
Run Code Online (Sandbox Code Playgroud)
这是我用于检查两个变量的代码,我希望它检查 n 和 m 是否为整数,以及 n 和 m 是否为正、负或零:
(defun sign (n m)
(if (and …Run Code Online (Sandbox Code Playgroud)