【发布时间】:2016-03-23 12:24:58
【问题描述】:
我已经阅读了common lisp“Practical Common Lisp”异常处理一章好几天了,但是我现在对示例和解释感到很困惑,同时我尝试编写一些测试示例,但是没有按照我的预期工作,下面是我的测试样本。
-
条件定义
(define-condition evenp-error (error) ((text :initarg :text :reader text))) -
定义打印奇数的函数
(defun filter-evenp (lst) (dolist (x lst) (if (not (evenp x)) (print x) (error 'evenp-error :text x)))) -
重启功能
(defun skip-evenp (c) (invoke-start 'skip-evenp)) -
重启案例
(restart-case (filter-evenp (list 1 2 3 4 5)) (skip-evenp () nil))
我想要做的就是打印所有奇数并跳过偶数错误,我的样本有什么问题?有人帮忙吗?非常感谢!
【问题讨论】:
标签: exception common-lisp conditional-statements restart condition-system