【问题标题】:What's the difference between write, print, pprint, princ, and prin1?write、print、pprint、princ 和 prin1 有什么区别?
【发布时间】:2013-11-14 09:31:57
【问题描述】:

我正在使用一些 Lisp,并且遇到了各种不同的功能,这些功能在我看来似乎在做同样的事情......即打印到控制台......那么所有这些不同的功能之间到底有什么区别函数?

【问题讨论】:

  • 一般来说,the HyperSpec,Rainer Joswig 的答案链接到该地址是 Common Lisp 的一个很好的参考。还有一个文档搜索 lispdoc,它非常有用,因为它可以搜索 HyperSpec 和其他一些 Common Lisp 语言参考。

标签: printing output lisp common-lisp


【解决方案1】:

这里有答案:http://www.lispworks.com/documentation/HyperSpec/Body/f_wr_pr.htm

  • write 是 Lisp 打印机的一般入口点。
  • prin1 产生适合输入到read 的输出。
  • princ 和 prin1 一样,只是输出没有转义字符。 princ 旨在让人们看起来很好,而 prin1 的输出旨在为函数 read 所接受。
  • print 与 prin1 类似,只是对象的打印表示前面是换行符,后面是空格。
  • pprint 产生漂亮的输出。

【讨论】:

  • 是否有关于什么是“漂亮”输出的规范?缩进是我能想到的一件事。不同的实现可能会有不同的定义吗?
  • 'pretty print' 表示针对可用水平空间进行布局并相应缩进。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-28
  • 2011-06-28
  • 1970-01-01
  • 2021-04-25
  • 1970-01-01
  • 2016-03-03
  • 2014-03-07
相关资源
最近更新 更多