2013-11-03 68 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

有什麼是「漂亮」輸出的規範?縮進是我能想到的一件事。可能不同的實現定義不同? –

相關問題