Lisp Def方法结构

用户1234440
(defmethod update :before ((a AGENT) (e UPDATE))
  (when (null (timestamps a))
    (push 0 (pls a))
    (push 0 (fitnesses a)))
  (push (timestamp e) (timestamps a))
  (push (price e) (revalprices a))
  (preprocess a e)
  (format T ":BEFORE completed for agent  ̃A and event  ̃A ̃%" a e))

上面的方法来自一本书,我想询问update之间的区别:before根据我对CLOS Lisp中定义方法的理解,方法update的名称是,但该怎么:before做?

最后,最后一行是做什么的? (format T ":BEFORE completed for agent ̃A and event ̃A ̃%" a e))

Inaimathi

您正在查看的是:before辅助方法的定义update使用满足类型agentand的参数调用方法时update,这段代码将在方法主体之前运行。也可以定义:after:around辅助。参阅本PCL章节以获取更多信息。

至于format字符串,我认为这是错误的。您所拥有的表单只会发出警告,告知您传递了太多格式参数。我认为这是什么意思

(format t ":BEFORE completed for agent ~a and event ~a~%" a e)

它将在流中打印,":BEFORE completed for agent "后跟的值a,然后是" and event "的值e,然后是换行符*standard-output*有关CLformat指令的更多信息,请参阅PCL的另一章,以及CLHS的本节。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Emacs Lisp:验证树结构的标准方法?

来自分类Dev

Lisp中树结构的定义

来自分类Dev

Lisp图数据结构

来自分类Dev

Lisp中树结构的定义

来自分类Dev

从LISP中的套接字读取C ++结构

来自分类Dev

常见的Lisp处理结构插槽顺序

来自分类Dev

在Lisp中修改结构的字段/插槽的副本

来自分类Dev

从LISP中的套接字读取C ++结构

来自分类Dev

在Common LISP中从结构本身访问结构字段

来自分类Dev

在Common Lisp(CLOS)中列出对象方法

来自分类Dev

在Common Lisp中更改方法分派

来自分类Dev

常见的Lisp调用deftype方法

来自分类Dev

如何从 JSCL 方法调用 Common Lisp 代码

来自分类Dev

Lisp Horner 使用映射函数的方法

来自分类Dev

LISP 从函数返回值的适当方法

来自分类Dev

类型错误将结构传递给通用Lisp中的宏

来自分类Dev

在Lisp中排序由手动结构组成的列表

来自分类Dev

在Lisp中存储多变量多项式的最佳方法

来自分类Dev

Scheme或Common Lisp中的牛顿平方根方法

来自分类Dev

Lisp通用对象系统方法执行顺序

来自分类Dev

什么是最快的方法来计算普通lisp中的阶乘?

来自分类Dev

在Lisp包中重新定义内置函数的方法

来自分类Dev

在Lisp中调用另一个重载方法

来自分类Dev

在Lisp中实现有趣的编码方法

来自分类Dev

在Lisp中实施车队移动和可能移动的最佳方法

来自分类Dev

在Common Lisp中使用迭代包的正确方法

来自分类Dev

什么是最快的方法来计算普通lisp中的阶乘?

来自分类Dev

在Lisp包中重新定义内置函数的方法

来自分类Dev

在Lisp中调用另一个重载方法