2016-06-25 9 views

Antwort

7

Die system Prozedur setzt stdout auf den Wert des Parameters current-output-port. Das bedeutet, dass wir alles, was in current-output-port geschrieben wurde, zu einem String sammeln und zurückgeben können. Das Konstrukt with-output-to-string setzt current-output-port auf einen Port, der nichts ausgibt, aber schließlich den als Zeichenfolge an den Port geschriebenen Wert zurückgibt.

> (with-output-to-string (lambda() (system "date"))) 
"Sat Jun 25 12:20:12 CEST 2016\n"