打印和显示之间的区别

unj*_*nj2 6 scheme

PLT Scheme文档说:

提供打印的基本原理 是显示写入都具有相对标准的输出约定,并且这种标准化限制了环境可以改变这些过程的行为的方式。不应该为打印假定输出约定,以便环境可以自由地以任何方式修改由打印生成的实际输出。

有人可以解释一下这对菜鸟意味着什么以及打印显示有何不同?

Eli*_*lay 5

问题是程序可以期望来自write和的某些输出格式display。在 PLT 中,可以改变它们的行为方式,但这样做需要一点参与。这是有意为之的,因为进行这样的改变可能会产生戏剧性的、意想不到的结果。

OTOH,改变print行为方式很容易——只需查看current-print文档即可。这个想法是print用于调试,用于在交互式 REPL 中向您呈现代码——而不是作为您依赖于需要以特定方式格式化的输出的工具。format(顺便说一句,另请参阅、printf等的“~v”指令)