Syntax:
with-open-stream (var stream) declaration* form*
=> result*
Arguments and Values:
stream---a form; evaluated to produce a stream.
declaration---a declare expression; not evaluated.
forms---an implicit progn.
results---the values returned by the forms.
Description:
with-open-stream performs a series of operations on stream, returns a value, and then closes the stream.
Var is bound to the value of stream, and then forms are executed as an implicit progn. stream is automatically closed on exit from with-open-stream, no matter whether the exit is normal or abnormal. The stream has dynamic extent; its extent ends when the form is exited.
The consequences are undefined if an attempt is made to assign the the variable var with the forms.
Examples:
(with-open-stream (s (make-string-input-stream "1 2 3 4")) (+ (read s) (read s) (read s))) => 6
Side Effects:
The stream is closed (upon exit).
Affected By: None.
Exceptional Situations: None.
See Also:
Notes: None.