1
我有一个关于Common Lisp中函数副本的问题。如何将函数复制到新符号?
在路线我会去用:
(define (foo par1 par2) (+ par1 par2))
(define bar foo)
(print (bar 1 2)) ;; --> prints 3
(define (foo par1 par2) (* par1 par2))
(print (bar 1 2)) ;; --> prints again 3
(print (foo 1 2)) ;; --> prints 2
我怎样才能做到这一点与Common Lisp的?
谢谢,我想我必须以某种方式写函数的符号,但我不知道该怎么做。 –
你也可以(setf bar(symbol-function'foo)) - 但是然后调用你将不得不去(** funcall ** bar 1 2)。 –