a99 Uppdate-Tipp
Thomas Berger
ThB.com at t-online.de
Mi Aug 4 15:25:34 CEST 1999
Liebe Frau Koczian,
> >#99b
> > % Code fuer 1. Primaerschluessel
> >#+#
> >
> >#99a
> > % Code fuer 2. Primaerschluessel
> >#+#
> >
> Das ist eine hoechst raffinierte Loesung! Der Abschnitt #-* sorgt dafuer,
> dass in jedem Fall die _beiden_ als Primaerschluessel moeglichen Eintraege
> gebildet werden, richtig?
ja. Moeglicherweise geht es aber noch trickreicher, indem
Sie beide Schluessel, nur in unterschiedlicher Reihenfolge,
bei #-@ konstruieren (zwei Sprungmarken brauchen Sie allerdings
auch in diesem Fall :-)
Ausserdem macht es das Leben einfacher (vgl. Mail an Herrn
Matalla), wenn man immer nur im "Standardfall" (d.i.
Variable nicht gesetzt) indexiert:
Bedenken Sie die Implikationen bei zweistufiger Indexierung.
Hier muessen natuerlich durch das erste ak-Statement alle
benoetigten Ersetzungsschluessel produziert werden.
"Globale" Initialisierungen / Loeschungen von Anwendervariablen
betreffen ja vornehmlich den zweiten Indexlauf und duerfen daher
nicht (nur) im ersten Abschnitt (hinter #99b) vorkommen. Bei
obiger Loesung sollten sie
auch nicht im zweiten Abschnitt (hinter #99a) stehen, weil
- bei #99b evtl. wieder etwas geloescht wird, was bei
"Kreuzung" erst spaeter ist
- der Code meistens recht lang ist und daher die Spruenge
zu #99b / #99a zuviel Zeit verbrauchen wuerden.
Als Konsequenz sollte man einen dritten ak-Sprung erst
mit solchen Initialisierungen betrauen (Die Standard-
Parameter tun dies ja bei #-0 fuer die Kurztitelberechnung,
was ja ebenfalls mit ak=zz+... angesprungen wird)
viele Gruesse
Thomas Berger
Mehr Informationen über die Mailingliste Allegro