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)。 –