AW: [Allegro] alle ergebnismengen löschen
Sibylle Koczian
Sibylle.Koczian at T-Online.de
Di Aug 5 13:09:00 CEST 2008
Lieber Herr Eversberg, liebe Liste,
"Bernhard Eversberg" <ev at biblio.tu-bs.de> schrieb:
> 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
Jetzt bin ich verwirrt. Ist nicht gerade die erste Variante ("if %/2x%")
die richtige, die 20, 211 usw. verwirft?
Beste Grüße,
Koczian
--
Dr. Sibylle Koczian
Fasanenstrasse 12
D-82293 Mittelstetten
Mehr Informationen über die Mailingliste Allegro