To print CoCoA output to a string, on may use 'OpenOString' to
"open" the string, then 'Print On' to write to it. To read from a
string, one may open the string for input with 'OpenIString' then get
characters from it with 'Get'.
|
S := 'hello world';
D := OpenIString('',S); -- open the string S for input to CoCoA
-- the first argument is just a name for the device
L:= Get(D,7); -- read 7 characters from the string
L; -- ascii code
[104, 101, 108, 108, 111, 32, 119]
-------------------------------
Ascii(L); -- convert ascii code to characters
hello w
-------------------------------
Close(D); -- close device D
D := OpenOString(''); -- open a string for output from CoCoA
L := [1,2,3]; -- a list
Print L On D; -- print to D
D;
Record[Name = "", Type = "OString", Protocol = "CoCoAL"]
-------------------------------
S := Cast(D,STRING); -- S is the string output printed on D
S; -- a string
[1, 2, 3]
Print ' more characters' On D; -- append to the existing output string
Cast(D,STRING);
[1, 2, 3] more characters
-------------------------------
There are usually more direct ways to collect results in strings. For
instance, if the output of a CoCoA command is not already of type
STRING, one may convert it to a string using 'Sprint'.
|