12
我正在进入一些Lisp,并且我遇到了各种不同的功能,这些功能对我来说似乎是在做同样的事情......即打印到控制台......那么,所有这些不同功能?写入,打印,印刷,princ和prin1有什么区别?
我正在进入一些Lisp,并且我遇到了各种不同的功能,这些功能对我来说似乎是在做同样的事情......即打印到控制台......那么,所有这些不同功能?写入,打印,印刷,princ和prin1有什么区别?
这是在这里找到答案:http://www.lispworks.com/documentation/HyperSpec/Body/f_wr_pr.htm
write
是一般的入口点Lisp的打印机。prin1
产生适合输入到read
的输出。princ
就像prin1
除了输出没有转义字符。 princ
旨在让人看起来很好,而来自prin1
的输出旨在被接受阅读。print
就像prin1
不同之处在于,对象的打印表示前面是换行符,后面跟着空格。pprint
产生漂亮的输出。有什么是“漂亮”输出的规范?缩进是我能想到的一件事。可能不同的实现定义不同? –
一般来说,Rainer Joswig的答案链接到的[HyperSpec](http://www.lispworks.com/documentation/HyperSpec/Front/)是Common Lisp的一个很好的参考。还有一个文档搜索,[lispdoc](http://lispdoc.com/),这非常有用,因为它搜索HyperSpec和其他Common Lisp语言引用。 –