(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