我想做这样的事情:
'((function1 . '(lambda (args) "DOCSTRING" ))
(function2 . '(lambda (args) "DOCSTRING" )))
但是“点”只是打开它后面的东西:
((function1 quote (lambda (args) "DOCSTRING")) (function2 quote (lambda (args) "DOCSTRING")))
我知道它的工作原理应该如此,但在这种情况下如何纠正呢? 这样我就可以用钥匙来获取功能了。
答案 0 :(得分:1)
lambda
自我引用:
(setq falist
'((function1 . (lambda (args) "DOCSTRING" 1))
(function2 . (lambda (args) "DOCSTRING" 2))))
(funcall (cdr (assoc 'function2 falist)) 1)
; => 2