-1
所以我现在试图在CLISP中编写一个函数。我想要做的是让程序停下来,并在某些情况下做某些事情,但在条件不成立的情况下继续循环。所以如果语句在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语句为true的情况下,我递归地试图运行这个函数,但是如果语句不是真的,它需要继续运行循环。相反,if语句评估并返回nil。是否有某种继续功能可以用来保持这种状态?谢谢!