-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。是否有某種繼續功能可以用來保持這種狀態?謝謝!