2010-10-02 48 views

回答

6

各种动态变量会影响print产生的输出。 with-standard-io-syntax确保将这些变量设置为默认值。

例如:

(let ((list '(1 2 3 4 5 6 7 8 9 10)) 
     (*print-length* 5)) 
    (print list) 
    (with-standard-io-syntax 
    (print list))) 

打印:

(1 2 3 4 5 ...) 
(1 2 3 4 5 6 7 8 9 10) 

,如果你要打印的东西与以后(像prin1)能够read他们的意图这是特别重要的。