dynamic var | since v0.0-2120 | clojure.core/*print-level* | Edit |
Descend only n
levels deep when printing a nested object. Defaults to nil
indicating no limit. A #
is printed for objects at level n
.
(binding [*print-level* 2]
(println {:a {:b {:c nil}}}))
;; Prints:
;; {:a {:b #}}
;;
;;=> nil
(binding [*print-level* 1]
(println {:a {:b {:c nil}}}))
;; Prints:
;; {:a #}
;;
;;=> nil
*print-level* controls how many levels deep the printer will print nested objects. If it is bound to logical false, there is no limit. Otherwise, it must be bound to an integer indicating the maximum level to print. Each argument to print is at level 0; if an argument is a collection, its items are at level 1; and so on. If an object is a collection and is at a level greater than or equal to the value bound to *print-level*, the printer prints '#' to represent it. The root binding is nil indicating no limit.
(def
^{:dynamic true
:jsdoc ["@type {null|number}"]}
*print-level* nil)