[Allegro] Rücksprung aus Unterprogrammen

Thomas Berger ThB at Gymel.com
Mi Okt 27 08:55:20 CEST 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



Am 27.10.2010 08:29, schrieb Fischer, Thomas:

> ich versuche mal den Zusammenhang an einem Beispiel zu erklären.
> Ich habe in einem Präsentationsskript (also einer Exportparameterdatei) das folgende Unterprogramm:
> 
> #(C     sucht Link, gibt ersten aus
> #cc =fk
> #-c
> #ufk +- e' ' c':/' F'[ ,;]' dfk
> #ufk +c b'[ ,;]' =fk e0
> #)C
> das nach einer Webadresse (ein Wort mit ":/" darin) in der aktuellen Kategorie sucht, den ersten solchen Link ausgibt 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.
> Herrn Eversbergs Antwort war -kurzgefasst- "Ja".

Aber ob dabei nun die Ausgabe des Arbeitstexts (der ermittelten URL)
erfolgt oder nicht, ist m.W. nicht definiert.


> Hintergrund ist dass
> 
> #ufk +#)C e' ' c':/' F'[ ,;]' dfk
> meines Wissens nicht existiert und
> 
> #ufk +#99 e' ' c':/' F'[ ,;]' dfk
> #ufk +c b'[ ,;]' =fk e0
> #99 e0 #zz 0
> #)C
> aufwendiger und weniger übersichtlich ist.

aber - weil #ufk ja bereits geloescht ist, geht auch

#ufk e' ' c':/' F'[ ,;]' dfk
#ufk +c b'[ ,;]' =fk e0
#)C


Die letzte Zeile kann uebrigens zu Instabilitaeten fuehren,
aus Erfahrung nutze ich daher stets eine Konstruktion

#ufk +c y0 dfk b'[ ,;]' b0 Afk

[Ansonsten kann die Sache auch ganz ohne Schleife
parametriert werden, das sollte auch effizienter sein]




viele Gruesse
Thomas Berger

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iJwEAQECAAYFAkzHzNgACgkQYhMlmJ6W47PCBgP+IeYsrAvQqfYDHeFH6w5oW5h/
ia9HAycAk22JOkPNT/CB1BbvNhbgukposdyGUgcRwuHI1vcY77aGqIqjAIa27yFp
QM99AYSpcoOBgBdlfIoSIVazg63dVsMPVBdM3Q26vBc9RM0dK8RaozivW9eryD+q
2hV0Az/3tu3HARMv984=
=wUjQ
-----END PGP SIGNATURE-----



Mehr Informationen über die Mailingliste Allegro