我使用SBCL,emacs,slime和quicklisp來安裝各種軟件包。In Common Lisp什麼是印刷表示?
我實例,並開始一個hunchentoot受體像這樣,
CL-USER> (hunchentoot:start (make-instance 'hunchentoot:acceptor :port 4242))
#<HUNCHENTOOT:ACCEPTOR (host *, port 4242)>
我在端口4242打開瀏覽器測試,它工作正常。
然後停止它,我可以複製打印表示併發出命令,例如:
CL-USER> (hunchentoot:stop #<HUNCHENTOOT:ACCEPTOR (host *, port 4242)>)
#<HUNCHENTOOT:ACCEPTOR (host *, port 4242)>
與由相應的起始返回的打印表示這隻適用。
這讓我很驚訝。我認爲打印的圖像只是文本返回,大概是因爲對象本身無法顯示。因此,我認爲hunchentoot:stop可以使用文本字符串來查找對象。但隨後進行了更多的實驗,我注意到我必須使用對應於開始的打印表示,而不是任何一個。我還注意到,當我將鼠標放在打印的表示上時,突出顯示了整個分段。所以它不是文本,而是實際在REPL中的對象,我可以使用它。
所以一方面返回的是打印表示,所以我可以看到它,但另一方面它是我可以在REPL中複製和粘貼的實際對象。這是正確的嗎?我想這一定是因爲我在做。這對我來說真是太神奇了。
任何解釋或見解將不勝感激。
非常好。感謝您閱讀本手冊的鏈接,以及Zdybel參考資料(Google輕鬆找到PDF)。 – kes