0
我想編寫一個類似於mapcar的函數,但它將函數映射到一系列數字上。函數必須從開始到結束或結束迭代,具體取決於哪個更大。是的,這是針對一個班級的,但我不是在尋找代碼,只是提示如何實現這一點。我被告知先計算迭代器,但不使用let。除了使用let之外,還有另外一種更有效的方法來聲明和使用局部變量嗎?這裏是我的代碼:LISP - 在循環之前計算動態迭代器不會讓
(defun mapnum (fun start end)
(cond
((< start end)
(loop for x from start to (- end 1)
collect (funcall fun x)))
((> start end)
(loop for x from start downto (+ end 1)
collect (funcall fun x)))
(t nil)))
感謝您的幫助提前。
追加到列表的末尾是不好的。 – 2014-11-02 19:14:46
事實上,我會修改代碼。 – turingcomplete 2014-11-02 19:15:53
非常感謝 – angerboy 2014-11-02 19:32:33