2013-11-03 33 views
12

我正在进入一些Lisp,并且我遇到了各种不同的功能,这些功能对我来说似乎是在做同样的事情......即打印到控制台......那么,所有这些不同功能?写入,打印,印刷,princ和prin1有什么区别?

+0

一般来说,Rainer Joswig的答案链接到的[HyperSpec](http://www.lispworks.com/documentation/HyperSpec/Front/)是Common Lisp的一个很好的参考。还有一个文档搜索,[lispdoc](http://lispdoc.com/),这非常有用,因为它搜索HyperSpec和其他Common Lisp语言引用。 –

回答

25

这是在这里找到答案:http://www.lispworks.com/documentation/HyperSpec/Body/f_wr_pr.htm

  • write是一般的入口点Lisp的打印机。
  • prin1产生适合输入到read的输出。
  • princ就像prin1除了输出没有转义字符。 princ旨在让人看起来很好,而来自prin1的输出旨在被接受阅读。
  • print就像prin1不同之处在于,对象的打印表示前面是换行符,后面跟着空格。
  • pprint产生漂亮的输出。
+0

有什么是“漂亮”输出的规范?缩进是我能想到的一件事。可能不同的实现定义不同? –

相关问题