是否有一种方法可以传递函数的主体而不是Racket中的名称本身?例如:
(define (foo x) (+ x 1))
(bar #'foo) ; I'd like to get #'(+ x 1) rather than #'foo
答案 0 :(得分:2)
否。
函数的源代码在运行时没有保留在Racket中。您也许可以使用某些宏机制来完成所需的操作,甚至可以实现自定义的lambda
表单,该表单将源代码存储在过程中,但是无需更多有关实际操作的上下文,我觉得我无法提供更多具体建议。