User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

cl:functions:make-echo-stream [2019/07/14 17:00]
cl:functions:make-echo-stream [2019/10/17 13:00] (current)
Line 1: Line 1:
 +====== Function MAKE-ECHO-STREAM ======
 +
 +====Syntax====
 +  * **make-echo-stream** //​input-stream//​ //​output-stream//​ → //​echo-stream//​
 +
 +====Arguments and Values====
 +//​input-stream//​ - an //​[[CL:​Glossary:​input]]//​ //​[[CL:​Glossary:​stream]]//​.
 +//​output-stream//​ - an //​[[CL:​Glossary:​output]]//​ //​[[CL:​Glossary:​stream]]//​.
 +//​echo-stream//​ - an //​[[CL:​Glossary:​echo stream]]//.
 +
 +====Description====
 +Creates and returns an //​[[CL:​Glossary:​echo stream]]// that takes input from //​input-stream//​ and sends output to //​output-stream//​.
 +
 +====Examples==== ​
 +<​blockquote> ​
 +([[CL:​Special Operators:​let]] ((out ([[CL:​Functions:​make-string-output-stream]]))) ​
 +  ([[CL:​Macros:​with-open-stream]] (s (make-echo-stream ​
 +                         ​([[CL:​Functions:​make-string-input-stream]] "​this-is-read-and-echoed"​)
 +                         out))
 +    ([[CL:​Functions:​read]] s)
 +    ([[CL:​Functions:​format]] s " * this-is-direct-output"​) ​
 +    ([[CL:​Functions:​get-output-stream-string]] out))) ​
 +<​r>"​this-is-read-and-echoed * this-is-direct-output"​ </r>
 +</​blockquote>​
 +
 +====Side Effects====
 +None.
 +
 +====Affected By====
 +None.
 +
 +====Exceptional Situations====
 +None.
 +
 +====See Also====
 +  * **[[CL:​Functions:​echo-stream-input-stream|Function ECHO-STREAM-INPUT-STREAM]]**
 +  * **[[CL:​Functions:​echo-stream-output-stream|Function ECHO-STREAM-OUTPUT-STREAM]]**
 +  * **[[CL:​Functions:​make-two-way-stream|Function MAKE-TWO-WAY-STREAM]]**
 +
 +====Notes====
 +None.
 +
 +\issue{STREAM-ACCESS:​ADD-TYPES-ACCESSORS}