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