欢迎!请参阅关于页面以了解如何使用本站的一些信息。
目前不能在 edn 中发送变量。'#' 是 Clojure 读取器特有的。目标是在读取侧绑定与同名变量相同的变量标识符(类似于变量序列化支持)。
建议:这不太适用于添加到 edn 中,因此请使用 #clojure/var 作为标签。打印可能打印 #clojure/var 而不是 '#'(可能通过一个标志实现)——需要更多评估。#clojure/var 标签的读取器应在数据读取器中安装。
补丁: vartag2.patch
由 cgrand 发布的评论
未命名变量(例如通过 {{with-local-vars}} 创建的)应打印到 1. 或引发异常?(异常是 print-dup 行为)
由 kunstmusik 发布的评论
我认为在 vartag2.patch 中,print-var-tagged 测试未包含一个断言。我认为它应该像下面这样
(is (and ...))
在最后一个 let-binding 内部。
由 gshayban 发布的评论
打印未命名变量没有什么实际用途(不知道它们的代码上下文,无法区分它们之间的差异),看起来有1. }或1. }就足够了。