我正在阅读"Practical Common Lisp",我想知道Common Lisp是否支持像Duck这样的Duck-Typing?
在Ruby中,只要它实现一个带有调用者假定的名称和参数列表的方法,就可以在一个对象上调用一个方法,而不管它是什么类.
CLOS怎么样?是否可以在不考虑类的情况下调用对象,只需假设泛型函数可以处理它.也许不需要使用duck-typing,因为CLOS不遵循消息传递哲学,并且方法没有绑定到类.
Vse*_*kin 14
也许不需要使用duck-typing,因为CLOS不遵循消息传递哲学,并且方法没有绑定到类.
情况确实如此.每个泛型函数都可以动态地专用于某个类.还可以有默认实现.由于Lisp使用动态类型,因此可以使用任何类型的参数调用每个函数,对于泛型函数,基于参数类型的调度决策是在运行时获取的.