[Allegro] a99 und Ergebnismengen
Thomas Berger
ThB at Gymel.com
Di Nov 14 22:10:40 CET 2006
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Lieber Herr Eversberg, liebe Liste,
Als Kommentar zu meiner eigenen Mail, nachdem ich es
umzusetzen versucht habe:
> Meine Desiderate von gestern damit beleuchtet:
>
> A. (Vollmuellung der Ergebnismengenliste durch "find /" und anderem):
> (Insbseondere) Nach jedem "find /" ist ein "close r-" zu setzen
vorsichtshalber besser ein
if yes close r-
> B. Loeschen von benannten Ergebnismengen ("otto")
> find :otto\if not no close rc
funktioniert
> C. Ersatz fuer "find *new" von Avanti:
> close r1
funktioniert oder funktioniert nicht, je nachdem.
a99 scheint nicht sauber zwischen "leerer Ergebnismenge"
und "keine Ergebnismenge" zu unterscheiden.
Ich bin beim Testen ziemlich verzweifelt und habe nicht
mehr die Lust, das auf eine Testanwendung herunterzukochen,
die das Verhalten belegt. Es ging darum, ein paar Saetze
zu erzeugen und jeweils einzeln mit "find /" zu einer
anfaenglich leeren Ergebnismenge hinzuzufuegen.
Folgendes ist wohl der Knackpunkt:
Wenn mit "close res" bzw. den heute diskutierten Abwandlungen
der Zustand "keine Ergebnismenge" erreicht wurde, so fuegt
"find /" der *davor* definierten Ergebnismenge einen Satz hinzu
und bildet daraus eine neue Ergebnismenge (oder auch nicht, der
Satz war in der herangezogene Ergebnismenge evtl. bereits enthalten).
Das deckt sich mit der Beobachtung, dass ich nach "close res" nicht
mit "set Rotto" die Ergebnismenge benennen kann: "Keine Ergebnismenge"
ist eben keine Ergebnismenge und mitnichten eine neue, leere.
Der Test "if empty" unterscheidet allerdings nicht zwischen den
zwei Zustaenden".
Das Desiderat ist immer noch, eine leere Ergebnismenge
zu erzeugen, die sich mit "set R" benennen und mit "find /"
ergaenzen laesst.
[Beste Naeherung derzeit:
find or #1\get first\find -\close r-
0-elementige Ergebnismengen lassen sich aber nicht benennen...]
Ich konnte das im konkreten Beispiel letztendlich umschiffen,
indem ich mit
var "or #" i
find
die anfaengliche Ergebnismenge ausserhalb der Schleife
bereits einelementig aus dem ersten Satz gebildet habe.
In der Schleife selbst, die wie erwaehnt mit
find /
if yes close r-
jeweils einen Satz zur Ergebnismenge ergaenzt, musste
ich mysterioeserweise vorher ein
if empty find s0
ergaenzen, sonst hatte ich nur jeden zweiten Satz in
der Ergebnismenge, ~manche~ find #... scheinen a99
in den Zustand "keine Ergebnismenge" zu verschieben.
Dem muss aber noch genauer nachgegangen werden.
viele Gruesse
Thomas Berger
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3-nr1 (Windows XP)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFFWjDQhKFJT0F1FsoRAhi4AJ9yf9XIB7cdYY58Ihat/28zGGSo2wCfbId+
XqTKTZkcyiNSqixwQ6KUBWM=
=MCLZ
-----END PGP SIGNATURE-----
Mehr Informationen über die Mailingliste Allegro