下面的函数输出Hello, world
Common Lisp的:调用一个函数A,与函数fn和A返回调用FN
(defun helloworld()
(format t "Hello, world"))
功能A
调用函数B
lambda函数,传递给它helloworld
功能:
(defun A()
((B #'helloworld)))
函数B
返回一个lambda函数,该函数调用传递给B
的函数:
(defun B (fn)
(#'lambda()
(funcall fn)))
不幸的是,它不工作。据推测,我在功能A
中做了一些不正确的事情。我怎样才能使这工作?
您应该会收到'(defun A() ((B#'helloworld)))'的错误。 '((B#'helloworld))'在Common Lisp中不合法。 –