传递函数的主体

时间:2018-11-29 00:45:14

标签: racket

是否有一种方法可以传递函数的主体而不是Racket中的名称本身?例如:

(define (foo x) (+ x 1))
(bar #'foo) ; I'd like to get #'(+ x 1) rather than #'foo

1 个答案:

答案 0 :(得分:2)

否。

函数的源代码在运行时没有保留在Racket中。您也许可以使用某些宏机制来完成所需的操作,甚至可以实现自定义的lambda表单,该表单将源代码存储在过程中,但是无需更多有关实际操作的上下文,我觉得我无法提供更多具体建议。