什么":之前:之后:周围" defmethod真的意味着什么?

时间:2012-03-15 05:26:23

标签: common-lisp

在下面的代码中,我可以删除“:after”吗?

(defmethod render-page-body:after((app weblocks-webapp)rendered-html) ; ...)

我对CLOS真的很新,对不起我的新手问题了吗?

1 个答案:

答案 0 :(得分:2)

不,:after表示方法正文中的代码在主方法之后执行,而不是主方法。

同样地,:around意味着主体“替换”主要功能,它仍然可用。这允许您在调用主方法之前执行某些特定于类的事情,然后在调用主方法之后执行其他一些操作。