gpt4 book ai didi

methods - CLOS中 'Standard method combination'和 'Simple method combination'的区别

转载 作者:太空宇宙 更新时间:2023-11-03 18:53:52 28 4
gpt4 key购买 nike

我一直在研究 Common Lisp 对象协议(protocol) (CLOS),我遇到了一个疑问。

有人知道 CLOS 中的“标准方法组合”和“简单方法组合”是什么意思吗?

在“简单方法组合”中,“列表”方法组合是什么意思?

(defgeneric what-are-you? (obj)
(:method-combination list :most-specific-last))

(defmethod what-are-you? list ((obj fixnum))
"I am a FIXNUM")

(defmethod what-are-you? list ((obj float))
"I am a FLOAT")

(defmethod what-are-you? list ((obj number))
"I am a NUMBER")

最佳答案

Common Lisp 预定义了标准方法组合。这是默认设置。

另外还有一堆所谓的简单方法组合提供:+, and, append , list, max, min, nconc, or, 和编程

请记住,方法组合会查看哪些方法适用特定参数集,然后将它们组合成一个有效方法,这它调用参数。

list 方法组合结合了所有适用的主要方法(只有这些受支持)并返回所有结果的列表。

+ 方法组合结合了所有适用的主要方法(只有这些)并返回所有结果的总和。

等等。

关于methods - CLOS中 'Standard method combination'和 'Simple method combination'的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16787217/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com