是否可以检索defn< d var的条件图?

时间:2014-04-26 15:37:59

标签: clojure

如果我使用defn定义了一个函数,并且包含:pre:post形式的条件映射,我该如何检索该条件映射?我注意到了

(meta #'fn-name) 

不包含条件地图。我特意寻找:pre条件(为了得出一个与它们等价但不断言的谓词)。有没有办法恢复它们,除了走功能体寻找assert s?

1 个答案:

答案 0 :(得分:3)

不幸的是,在处理fn宏之后,它们并未存储在任何地方。它们作为断言直接附加/附加到函数的body。您可以查看the relevant source lines in fn

作为一种解决方法,您可以编写自己的defn变体来抓取:pre:post条件并将其存储为元数据。