如果我用 defn
定义了一个函数和一个包含 :pre
和 :post
形式的条件映射,我该如何检索它状况图?我注意到
(meta #'fn-name)
不包含条件图。我专门寻找 :pre
条件(以便推导出与它们等效但不断言的谓词)。除了遍历函数体寻找 assert
之外,还有什么方法可以恢复它们吗?
最佳答案
不幸的是,在处理完 fn
宏之后,它们并没有存储在任何地方。它们作为断言直接添加到函数的 body
中。你可以查看the relevant source lines in fn
.
作为变通方法,您可以编写自己的 defn
变体,它获取 :pre
和 :post
条件并将它们存储为元数据。
https://stackoverflow.com/questions/23313036/
相关文章:
build - 不安全代码需要指定 `unsafe` 命令行选项 Monodevelop 4.0.1
shell - 将所有第二层 mp3 递归转换为第三层并更新 ID3
angularjs - ng-grid cellTemplate 问题与单元格的背景颜色
sql-server - Visual Studio 旗舰版 2013 : Server Explo
eclipse - org.eclipse.xtext.resource.FileNotFoundO
ruby-on-rails - 无法使用 CanCan 从 rails_admin 管理模型