[Tustep-Liste] zusammenfassen von Registereinträgen
Michael Trauth
trauth at uni-trier.de
Mo Aug 17 20:15:57 CEST 2009
Liebe Mitstreiter,
bei Herrn Schälkles Lösung mußte ich erst ein
bißchen überlegen, bis ich sie verstanden hatte.
Unter dem (gar nicht unwichtigen) Aspekt der spontanen
Verständlichkeit hat mir persönlich Herrn Sapplers
Lösung am besten gefallen. Man kann diese noch ein
kleines bißchen schlanker gestalten mit
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$$ MODE TUSCRIPT
SET alt = "1'3'4'5'7'9'10'12"
SET inc = -999, neu = ""
LOOP tmp = alt
IF (tmp .eq. inc) then
SET neu = APPEND (neu, "-", tmp)
ELSE
SET neu = APPEND (neu, "'", tmp)
END IF
SET inc = tmp+1
END LOOP
SET neu = EXCHANGE (neu, ":>/<|-<>>/>|->/::")
PRINT neu
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
oder gar, wenn's auf die Zahl der Zeilen ankommt,
verdichten zu:
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$$ MODE TUSCRIPT
SET alt = "1'3'4'5'7'9'10'12"
SET inc = -999, neu = ""
LOOP tmp = alt
IF (tmp .EQ. inc) SET neu = APPEND (neu, "-", tmp)
IF (tmp .NE. inc) SET neu = APPEND (neu, "'", tmp)
SET inc = tmp+1
END LOOP
SET neu = EXCHANGE (neu, ":>/<|-<>>/>|->/::")
PRINT neu
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Weiß jemand von den Diskussionsteilnehmern, warum
diese letztere Form der beiden IFs
: IF (tmp .EQ. inc) SET neu = APPEND (...
: IF (tmp .NE. inc) SET neu = APPEND (...
aus programmiertechnischer Sicht verpönt ist und
man besser
: IF ... THEN
: ELSE
: END IF
notieren sollte? Sind es nur Performance-Gründe
(zwei IFs kosten mehr Zeit als ein IF...THEN...ELSE),
oder spricht irgendeine prinzipielle Erwägung dagegen?
Einen entspannten Feierabend wünscht reihum
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