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語言引用。 –