[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