我正在学习 Racket(一种类似于 Scheme 的 Lisp),我试图做类似(apply + '(1 2))
但不使用的事情,但apply
我失败了。之前我几乎可以肯定apply
可以使用 以某种方式模拟eval
,但现在我有疑问。
所以,我的问题是:可以apply
在 Racket(或其他 Lisp)中仅使用eval
和其他基本操作来实现吗?也就是说,如何使这项工作:
{ define [my-apply f arg]
;; what does go here?
}
(my-apply + (list 1 2)) ; => 3