2024 Clover 国情调查! 中分享您的想法。

欢迎!请参阅 关于 页面以了解更多关于如何使用本站的信息。

0
Clojure
编辑过

在下面的代码片段中,你可以看到 pprint 函数没有正确地格式化输出,输出结果与 println 的输出完全相同。这里存在什么问题?

(clojure.pprint/pprint {:a :b
                        :c (vec (range 20))})
{:a :b, :c [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19]}
(println {:a :b
          :c (vec (range 100))})
{:a :b, :c [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99]}    => nil
(println {:a :b
          :c (vec (range 20))})
{:a :b, :c [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19]}
=> nil

1 个回答

0

编辑过

您期望发生什么情况?

pprint 尝试保持在 clojure.pprint/*print-right-margin* (默认=72) 以内,因为它适合单行。比较

(binding [clojure.pprint/*print-right-margin* 52] (clojure.pprint/pprint {:a :b :c (vec (range 20))}))

(binding [clojure.pprint/*print-right-margin* 55] (clojure.pprint/pprint {:a :b :c (vec (range 20))}))

(binding [clojure.pprint/*print-right-margin* 72] (clojure.pprint/pprint {:a :b :c (vec (range 20))}))
我在问题中添加了另一个例子。
仍然不清楚您想要获取的期望输出是什么。
...