Heute bin ich beim Testen einer Rexx-Prozedur ins Grübeln gekommen...
In der OS2.INI kommen Schlüsselwerte vor, die aus mit '00'x aneinander geketteten Teilstrings bestehen. Das funktioniert auch. Dies sei im folgenden simplen Script nachgestellt, mit eingestreuten 'SAY's zum Testen:
Code: Alles auswählen
/* aabb.cmd */
a0='AA'
b0='BB'
say 'a0='a0
say 'b0='b0
x0='00'x
s0=a0||x0||b0||x0
say 's0='s0
parse var s0 a1 '00'x b1 '00'x .
say 'a1='a1
say 'b1='b1
exit
Code: Alles auswählen
[C:\]aabb
a0=AA
b0=BB
s0=AA BB
a1=AA
b1=BB
Mir ist so weit klar, dass man einen 'String' an eine _externe_ Funktion \0-terminiert übergeben soll. Dieses Prinzip scheint sich unter PM auf 'say' (oder genauso 'lineout') auszuwirken; aber nur da, denn der volle String war ja gemäß 'parse var ...' intakt.
Nicht dass ich dieses "Problem" nicht notfalls zu umgehen wüsste, aber länger genervt hat mich der seltsame Test doch. Hab' ich irgendeine Dokumentation dazu übersehen?