*print-level*

dynamic varsince 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.


Examples:

(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

Source docstring:
*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.
Source code @ clojurescript:src/main/cljs/cljs/core.cljs
(def
  ^{:dynamic true
    :doc "*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."
    :jsdoc ["@type {null|number}"]}
  *print-level* nil)