>>-CHARIN(--+------+--+---------------------------+--)--------->< +-name-+ +-,--+-------+--+---------+-+ +-start-+ +-,length-+
1
.
1
for start refers to the first character in the stream. If start is not a positive whole number the appropriate syntax condition is raised. When the read position is past the bounds of the stream, the empty string is returned and the NOTREADY condition is raised.
0
, then the read position is set to the value of start, but no characters are read and the null string is returned.
Example 7.20. Builtin function CHARIN
CHARIN(myfile,1,3) -> "MFC" /* the first 3 */ /* characters */ CHARIN(myfile,1,0) -> "" /* now at start */ CHARIN(myfile) -> "M" /* after last call */ CHARIN(myfile, ,2) -> "FC" /* after last call */ /* Reading from the default input (here, the keyboard) */ /* User types "abcd efg" */ CHARIN() -> "a" /* default is */ /* 1 character */ CHARIN(, ,5) -> "bcd e"