2010-10-02 11 views
5

Practical Common Lisp sayfa 25, WITH-STANDARD-IO-SYNTAX'ı aşağıdaki gibi açıklar. "PRINT davranışını etkileyen belirli değişkenlerin standart değerlerine ayarlanmasını sağlar".WITH-STANDARD-IO-SYNTAX makrosu nedir?

Kullanım aşağıdaki gibidir.

(with-open-file (...) 
    (with-standard-io-syntax 
     (print ... 

Bu makroda (yazdırma) kullanılmalı mı? Olmazsa ne olur?

cevap

6

Çeşitli dinamik değişkenler, print tarafından üretilen çıktıyı etkiler. with-standard-io-syntax, bu değişkenlerin varsayılan değerlere ayarlanmasını sağlar. Örneğin

:

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

Baskılar:

daha sonra ( prin1 ile benzeri) read onları edememek niyetiyle şeyler yazdırıyorsanız olması özellikle önemlidir
(1 2 3 4 5 ...) 
(1 2 3 4 5 6 7 8 9 10) 

.

İlgili konular