在clojure zprint中配置符号引号扩展

问题描述 投票:3回答:1

是否有一种方法可以避免zprint'my-symbol写为(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)
clojure pretty-print
1个回答
0
投票

参见相关问题: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
© www.soinside.com 2019 - 2024. All rights reserved.