Common lisp 比较common lisp中两种解决方案的效率、正确性或有效性

Common lisp 比较common lisp中两种解决方案的效率、正确性或有效性,common-lisp,Common Lisp,当从中解决以下问题时,我的答案与作为示例解决方案给出的答案不同。由于我是Lisp的新手,我不知道哪种方法更好。请分享你的想法 问题:最小的 编写一个迭代函数,返回列表中的最小数字: (最小的’(425816)) 一, 样品溶液: (defun smallest (lst) (let ((smallest (first lst))) (dolist (ele (rest lst)) (if (< ele smallest) (setf smalle

当从中解决以下问题时,我的答案与作为示例解决方案给出的答案不同。由于我是Lisp的新手,我不知道哪种方法更好。请分享你的想法

问题:最小的

编写一个迭代函数,返回列表中的最小数字:

(最小的’(425816))

一,

样品溶液:

(defun smallest (lst)
  (let ((smallest (first lst)))
    (dolist (ele (rest lst))
      (if (< ele smallest)
          (setf smallest ele)))
    smallest))`
另外,第一辆车和第二辆车有什么区别?

更好:

CL-USER 1 > (loop for i in '(4 2 5 8 1 6) minimize i)
1

谢谢雷纳!哇,太棒了。你能解释一下
第一辆
汽车
之间的区别吗?我可以在列表中同时使用这两种方法。似乎
first
car
有相同的用法。两者都返回来自list@TeenaGeorge:
first
汽车的别名。在hyperspec中查找它。
CL-USER 1 > (loop for i in '(4 2 5 8 1 6) minimize i)
1