首页 > 解决方案 > 在 clojure zprint 中配置符号引用扩展

问题描述

有没有办法避免zprintwrite 'my-symbolas (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)

标签: clojurepretty-print

解决方案


请参阅相关问题: 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

推荐阅读