34 lines
1.4 KiB
Factor
34 lines
1.4 KiB
Factor
USING: help.markup help.syntax io strings quotations sequences ;
|
|
IN: io.streams.string
|
|
|
|
ARTICLE: "io.streams.string" "String streams"
|
|
"String streams:"
|
|
{ $subsections
|
|
<string-reader>
|
|
<string-writer>
|
|
}
|
|
"Utility combinators:"
|
|
{ $subsections
|
|
with-string-reader
|
|
with-string-writer
|
|
} ;
|
|
|
|
ABOUT: "io.streams.string"
|
|
|
|
HELP: <string-writer>
|
|
{ $values { "stream" "an output stream" } }
|
|
{ $description "Creates an output stream that collects text into a string buffer. The contents of the buffer can be obtained by executing " { $link >string } "." } ;
|
|
|
|
HELP: with-string-writer
|
|
{ $values { "quot" quotation } { "str" string } }
|
|
{ $description "Calls the quotation in a new dynamic scope with " { $link output-stream } " rebound to a new string writer. The accumulated string is output when the quotation returns." } ;
|
|
|
|
HELP: <string-reader>
|
|
{ $values { "str" string } { "stream" "an input stream" } }
|
|
{ $description "Creates a new stream for reading " { $snippet "str" } " from beginning to end." }
|
|
{ $notes "The implementation exploits the ability of string buffers to respond to the input stream protocol by reading characters from the end of the buffer." } ;
|
|
|
|
HELP: with-string-reader
|
|
{ $values { "str" string } { "quot" quotation } }
|
|
{ $description "Calls the quotation in a new dynamic scope with " { $link input-stream } " rebound to an input stream reading " { $snippet "str" } " from beginning to end." } ;
|