欢迎!请参阅 关于 页面了解更多关于此平台的信息。
目前无法在 edn 中发送 vars。`#'` 是 Clojure 读取器特定的。目标是在读取侧传递 var 身份并将其与同名 var 绑定(类似于 var 序列化支持)。
建议:这不足以添加到 edn,因此使用 #clojure/var 作为标签。打印可能打印 #clojure/var 而不是 `#'`(可能通过一个标志)- 需要更多评估。#clojure/var 标签读取器应安装到数据读取器中。
补丁: vartag2.patch
评论者:cgrand
应该将未命名的 vars(例如通过 {{with-local-vars}} 创建的)打印为 1 还是抛出异常?(异常是 print-dup 的行为)
评论者:kunstmusik
我认为 vartag2.patch 存在一个问题,即 print-var-tagged 的测试中缺少断言。我认为它应该在最后的 let-binding 中的某个地方有 something like
(is (and ...))
。
评论者:gshayban
打印未命名的变量几乎没有什么用(不知道代码上下文,就无法区分它们),看起来使用1. }或1. }就可以了。