所以我目前正在尝试在 CLISP 中编写一个函数。我想要做的是让程序在特定条件下停止并执行某些操作,但在条件不成立时继续循环。所以
(do ((i 0 (1+ i)))
((equal rows i))
;;loop body
;;for each row, look at a column
(do ((j 0 (1+ j)))
((equal cols j))
;;loop body
(if
(equal (get-value board i j) 0) (do ((lst (poss(get-row board i)) (cdr lst)))
((null lst) nil)
(return-from solve-driver(set-value board i j (car lst)))))
所以基本上我有两个嵌套循环。在 if 语句为真的情况下,我递归地尝试运行此函数,但如果该语句不为真,则需要继续运行循环。相反,if 语句计算并返回 nil。我可以使用某种继续功能来保持这种状态吗?谢谢!