AW: [Allegro] Rücksprung aus Unterprogrammen

Fischer, Thomas fischer at sub.uni-goettingen.de
Mi Okt 27 12:17:09 CEST 2010


Hallo Herr Berger,

> >>> und dann zurückkehrt, indem es die "Sprungmarke" "+-" benutzt (so
> >>> alleinstehend ist das nicht recht sinnvoll, aber als Illustration
> >>> hoffentlich ausreichend).
> >>> Meine Frage war, ob das ein legitimes Vorgehen ist, da im
> Handbuch
> >>> nichts über das Verlassen von Unterprogrammen (außer dem auch von
> >>> Ihnen erwähnten Ende des Unterprogramms) steht.
>
> "Ende" ist ja nicht unbedingt raeumlich zu verstehen, ich
> optimiere oft Spruenge weg, indem ich mehrere "Marken"
> #)X
> an guenstige Stellen setze, die Testlogik im gegebenen
> Beispiel (TRUE => return) ist fuer eine solche Loesung leider
> genau falsch herum...

Das ist wohl das im Handbuch gedachte Standardverfahren. Ich bin aber auch immer mal wieder irritiert von den dann nötigen Sprüngen der Art
#ufg +#ufs c'xxx' e0
wenn ich Zeilen deaktiviere oder Variablennamen ändere...

> >> Aber ob dabei nun die Ausgabe des Arbeitstexts (der
> >> ermittelten URL)
> >> erfolgt oder nicht, ist m.W. nicht definiert.
> >
> > Stimmt, das sollte irgendwo klar beschrieben sein.
> > In meinem Fall wird der Text ausgegeben.
>
> was ja ein bisschen mit der offiziellen Aussage in Konflikt
> steht, nur bereits vollstaendige "Zeilen" wuerden ausgegeben
> (wozu der aktuelle AT meines Erachtens nie gehoeren kann): In
> Unterprogrammen scheint also fuer +- eine starke
> Spezialsemantik am Werk, die nicht offengelegt ist)

Da wären wohl klare Worte von Herrn Eversberg nötig.

> >> Die letzte Zeile kann uebrigens zu Instabilitaeten fuehren, aus
> >> Erfahrung nutze ich daher stets eine Konstruktion
> >>
> >> #ufk +c y0 dfk b'[ ,;]' b0 Afk
> >
> > Die Doppelbedeutung des "=" als Zuweisung und Vergleich hat
> mich immer
> > wieder irritiert, scheint in diesem Fall aber keine
> Probleme zu bereiten.
>
> ... erst dann, wenn viele Datensaetze in Folge in der
> fraglichen Kategorie unerwarteterweise mit "," oder ";" am
> Ende stehen haben...

Muss ich mal genauer testen, erste Versuche zeigen noch keine Schwierigkeiten.

> >> [Ansonsten kann die Sache auch ganz ohne Schleife parametriert
> >> werden, das sollte auch effizienter sein]
> >
> > Hätten Sie einen Vorschlag? Hintergrund meiner Lösung ist,
> dass ich an
> > dieser Stelle nicht weiß, welches Protokoll da benutzt wird. Fast
> > immer http, aber auch https, ftp, sftp sind möglich.
>
> Wenn man sich auf "://" als Erkennungssignal einigt, geht es als
>
> #ufk c"://" E"://" p";" T"[ ,;]" b1
> #ufk b"://" e"[ ,;]"

Das wird gehen, TX vergesse ich immer wieder. Ich weiß nicht genau, wie T"[ ,;]" wirkt: Nimmt es das von hinten als erstes gefundene Zeichen und gibt den dahinter liegenden Teil des Arbeitstextes zurück?

Mit freundlichen Grüßen
Thomas Fischer



Mehr Informationen über die Mailingliste Allegro