关于 * } 的文档字符串是:
bq. 当设置为逻辑假时,字符串和字符将以适当的转义序列转换非字母数字字符的方式打印。
这并不符合 * } 实际影响打印的方式。
`
user=> (binding [*print-readably* false] (prn "\n" \newline))
nil
user=> (binding [*print-readably* true] (prn "\n" \newline))
"\n" \newline
nil
`
- 当 * } 为假时,如换行符这样的 '非字母数字' 字符将打印为实际换行符(ASCII 字符 0x0a),而不是 '转义序列'。
- 当 * } 为真时,字符串将被双引号括起来,在字符串和字符中某些字符将以转义序列的形式打印。
文档字符串也没有说明 * } 如何影响其他值的打印,例如与 eduction 一样。缺少 er 的目的,即打印供人类和机器消费者使用。