【发布时间】:2016-06-14 13:16:50
【问题描述】:
我不确定问题标题是否合适,但我想知道的是:
从 repl 中,我想获取当前模块中定义的绑定列表。经过一番搜索,这似乎是一个不错的解决方案:
(define (racket-symbols-set)
(list->set (namespace-mapped-symbols (module->namespace 'racket))))
(define (namespace-symbols-set)
(list->set (namespace-mapped-symbols)))
(define (module-bindings)
(set->list (set-subtract
(namespace-symbols-set)
(racket-symbols-set))))
因此,调用 (module-bindings) 返回符号列表。但是,如果我尝试从该结果中调用一个符号,例如执行 ((first (module-bindings))),我会收到“应用程序:不是过程”错误,尽管第一个符号是一个过程。
如何调用该符号对应的程序?
【问题讨论】: