clojure - 在 clojure zprint 中配置符号引用扩展
问题描述
有没有办法避免zprint
write 'my-symbol
as (quote my-symbol)
?我知道是读者将其转换为那种形式。但是,我希望 zprint 可以配置为生成更惯用的格式,这是 clojure.pprint 的默认格式。
(require '[zprint.core :as zp])
(zp/zprint '(def foo 'my-symbol))
;; (def foo (quote my-symbol))
(require '[clojure.pprint :as pp])
(pp/pprint '(def foo 'my-symbol))
;; (def foo 'my-symbol)
解决方案
请参阅相关问题: https ://github.com/kkinnear/zprint/issues/121
按照 bfabry 的评论,作为一种解决方法,我们可以使用 pprint 创建引用良好的字符串,然后将其传递给 zprint 进行格式化:
(require '[zprint.core :as zp])
(require '[clojure.pprint :as pp])
(-> '(def foo 'my-symbol)
pp/pprint
with-out-str
(zp/zprint 40 {:parse-string? true}))
(def foo 'my-symbol)
nil
推荐阅读
- sql - 获取按 ID 分组的最新条目
- cmake - CMakeLists.txt:7 (PROJECT) 处的 CMake 错误:无法运行 MSBuild 命令:
- r - 无法下载 ggplot 2,因为未指定“lib”
- php - 如何获取请求第一个值并将整个字符串分成两部分?
- python-3.x - tf.data.Dataset batch 和 map 和 tf.contrib.data.map_and_batch 的区别
- reactjs - 当它进入 Object.map 时,“this”会发生什么
- python - 构建器问题。我尝试为android制作apk文件,但我不能
- ios - 如何将单元格添加到 UITableView 部分并保存核心数据信息
- apache-zeppelin - 如何使用内置 spark 2.3.2 构建 zeppelin 0.8.0
- jquery - 如何使用 jquery 将所选行中的标签加粗?