* (defun maxnum(x y) (if (> x y) x y)) STYLE-WARNING: redefining COMMON-LISP-USER::MAXNUM in DEFUN MAXNUM * (maxnum 9 8) 9 * (maxnum 8 9) 9 * (maxnum 112 990) 990
使用了progn,progn将其它语句 插入到某语句中 ,即只返回最后一个语句的执行结果
* (minofnums *mylist*) -263 * (maxofnums *mylist*) 126 *
下面是代码
[deep@deep ~]$ sbcl --load /home/deep/pro/test2.lisp
(defvar *mylist* `(23 126 29 -23 23 2 44 -23 0 -263) ) (defvar *mymax* (car *mylist*)) (defvar *mymin* (car *mylist*)) (defun maxofnums(mlist) (if mlist (progn (setf *mymax* (if (> *mymax* (car mlist)) *mymax* (car mlist))) (maxofnums (cdr mlist))) *mymax* ) ) (defun minofnums(mlist) (if mlist (progn (setf *mymin* (if (< *mymin* (car mlist)) *mymin* (car mlist))) (minofnums (cdr mlist))) *mymin* ) )