LISP Как я могу связать лямбда-функцию с именем / символом, чтобы вызвать ее позже? - PullRequest
0 голосов
/ 26 декабря 2011

Как видно из заголовка, я хочу дать своей лямбда-функции имя, которое будет вызываться позже в моем коде.

Но имя, с которым я хочу связать его, является переменной. Что я могу сделать?

(defparameter funct-name 'addone)
 funct-name = (lambda (x) (x+1))

Так что мой звонок должен быть таким:

(addone 3)

funct-name - это переменная, содержащая имя, которое я хочу дать своей лямбда-функции.

1 Ответ

5 голосов
/ 26 декабря 2011
(setf (symbol-function funct-name) (lambda (x) (+ x 1)))
...