我正在用Lisp打印一个数字三角形,我想确保调用该函数时输入的内容是整数。如果是字符串或十进制,则应返回一条不接受输入的消息。这是我的数字代码。
(defun nested-loop (n)
(loop for i from 1 to n doing
(loop for j from 1 to i collecting
(progn
(prin1 j)))
(format t "~%")))
(nested-loop 5)
答案 0 :(得分:8)
使用宏CHECK-TYPE
:
CL-USER 9 > (let ((n "10"))
(check-type n integer))
Error: The value "10" of N is not of type INTEGER.