AW: [Allegro] alle ergebnismengen löschen

Bernhard Eversberg ev at biblio.tu-bs.de
Di Aug 5 12:05:01 CEST 2008


John, Oliver schrieb:
> 
> allerdings habe ich noch ein kleines problem
> var q gibt nicht "2" zurück sonder z.b. "3/2"
Da haben Sie recht. Wieder etwas nicht genug getestet, zum Kuckuck.
Wir müssen hier die Regel aufstellen, daß nichts derartiges verkündet
werden darf ohne erschöpfende Testung.

var q  liefert zwei Zahlen, z.B. 3/2, und die zweite, nicht die
erste, ist die Anzahl der momentanen Erg. Mengen.
Daher soll es nicht heißen
var q
if "2" ...
sondern etwas diffiziler
var q "x"
if %/2x% ...


> schwerwiegender ist jedoch das beim 2. aufruf des flexes
> a99 der meinung ist das der phrasenspeicher zu klein ist.
> ohne das löschkonstrukt am anfang ist das bisher nicht der fall gewesen
> wie kommt's 

Mit  if "2"  wird NICHT getestet, ob der iV-Inhalt gleich 2 ist, sondern
es wird geschaut, ob die Zeichenfolge in der iV mit der Ziffer 2
beginnt. Daher würde auch 20 der Bedingung genügen oder 211, das ist
natürlich auch nicht beabsichtigt.
Also sorry nochmal, der korrekte Abschnitt sollte so lauten:

:erg-loop
var q "x"                // Wieviele Erg.Mengen
if %/2% jump erg-ende    // nur noch 2? Ende
find s0                  // letzte aktivieren
close res                // und beseitigen
jump erg-loop            // Schleife

:erg-ende



Mehr Informationen über die Mailingliste Allegro