[Tustep-Liste] Kopiere-Austauschtabelle

Michael Trauth trauth at uni-trier.de
Sa Aug 8 18:49:18 CEST 2009


Lieber Oliver,

von Deinem Vorschlag war ich ganz entzückt, weil mir
das COLLECT als hier verwendbare (und vielleicht sogar
nötige bzw. erwünschte) Funktion nicht präsent war:

> $$ MODE TUSCRIPT
> SET a = FILE ("parameter_1"), b=*
> LOOP/99999
>    SET zeilen = SIZE (a)
>    IF (zeilen.eq.0) EXIT
>    SET a = REMOVE (a, 1, auswahl)
>    SET b = COLLECT (b, auswahl)
> ENDLOOP
> FILE/ERASE "parameter_2" = b

Du hast bloß nicht daran gedacht, daß das COLLECT
das REMOVE schon selbst besorgt. Deine ohnehin schon
kurze 9-Zeilen-Lösung läßt sich deshalb noch einmal
um drei weitere Zeilen eindampfen auf:

$$ MODE TUSCRIPT
SET a = FILE ("quelle"), b = *
LOOP tmp = a
   SET b = COLLECT (b, tmp)
END LOOP
FILE/ERASE "ziel" = b

Das scheint mir im übrigen eine weitere schlagende
Werbung für Tuscript zu sein, vor allem wenn man
sich vergegenwärtigt, welche Klimmzüge mit
parametergesteuerten Prozeduren nötig wären, um
dieselbe Leistung zu realisieren.


Viele Grüße reihum von

Michael Trauth


---------------------------------------------------------------
Dr. Michael Trauth                  e-mail: trauth at uni-trier.de
Rechenzentrum                       office: Tel. 0651-201-3413
der Universitaet                            Fax  0651-201-3921
Universitaetsring                secretary: Tel. 0651-201-3417
D-54286 Trier
---------------------------------------------------------------



Mehr Informationen über die Mailingliste Tustep-Liste