(defun index-iteration (n)
(let ((x 0))
(loop for j from 0 to n while (< x n) do
(setf x (max-index-for-iteration j)))))
我有以下lisp代碼,在循環結束時我想返回值j
。我已經調查:Lisp:如何獲得最終循環值?
collect
但返回與我想要的值(最後j
末)finally
值的列表,但沒有奏效。return
,但它結束循環早期
如果'collect'最後有你的答案,難道你不能只返回最後一個值嗎? – Carcigenicate
如何最終一起使用回報? –
您可以使用第二個'setf'來記住'j'的值。或者你可以用遞歸函數替換循環。 – SpiderPig