2010-11-06 77 views

回答

0

您正在使用哪種實現。改變REPL怎樣打印sexps取決於你的方案的實現,以及如果實現支持以擴展的形式寫出sexps。

4

這是因爲它應該是,因爲表達式'a是列表(quote a)的縮寫,並且解釋器的打印機正在使用它的輸出的簡寫。您應該注意,如果您告訴口譯員評估'a,則會打印出帶有撇號的a

如果試圖取出的(list 'quote 'a)的部分,你會看到你正是你有望獲得名單:

 
> (car (list 'quote 'a)) 
quote 
> (cadr (list 'quote 'a)) 
a 

因此,在總結,你得到預期的輸出,只是不預期的表示。如果你確實要求輸出(quote a),那麼你必須查看你的解釋器的文檔,看看是否支持。或者您可能需要編寫自己的程序來打印列表。