我一直在尝试理解如何在LISP中使用循环,但它们似乎仍然不能正常工作。我尝试使用以下代码:
(loop for i from 0 to (list-length y)
(when (eq (values-list (nth i (car y))) 0)
(return-from checkZero t)))
需要循环遍历列表,检查值是否等于0。如果相等,则应从循环中返回并退出,否则应一直运行直到达到列表长度。我想错了吗?如果错了,我该如何修复这个循环呢?
(我不确定我的实际代码是否有效,因为我仍在处理由错误使用的循环生成的错误,而且我找不到许多在线循环使用资源)
(when (eq ...) (return-from...))
周围的括号,变为when (eq ...) (return-from...)
并在(return-from...)
前添加一个do
。 - Renzo