[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