[Allegro] Problem mit Schleife

Thomas Fischer fischer at sub.uni-goettingen.de
Do Aug 13 16:28:01 CEST 2009


Liebe KollegInnen,

neben dem eben erwähnten Absturz-Problem hat mich eine kleine Besonderheit
von Avanti Zeit gekostet.
Ich habe ein einfaches Unterprogramm in meiner SUTRS-Anzeige für Z39.50, das
mir die einzelnen Einträge eines Feldes (getrennt durch "; ") zeilenweise
ausgeben soll:

#(W  			Zeilenweise Ausgabe
#cc =fk #zz 0
#nr p'MSC: !' e'!' =na  	Tag benennen
#-w
#una   				<<<<<<<<<< um diese Zeile geht es
#ufk e';'  				1. Teil von <fk> eintragen, Zeile
beenden
#ufk +w b'; ' =fk #zz 0  	Wenn noch mehr Einträge: 1. Teil
abschneiden, weiter bei -w
#nr dna dfk e0 #zz 0  		Variable <na> und <fk> löschen
#)W

Das funktioniert soweit, nur bekomme ich damit

MSC: 
05-XX
MSC: 
06Axx
MSC: 
51Axx
...

Ich muss also den Kategorie-Endecode unterdrücken:

#una #zz 0

Das liefert aber:

MSC:

also überhaupt keine Ausgabe!
Weiß jemand warum?

Die Lösung, die ich nach einigem Probieren gefunden habe, sieht so aus:
Oben:
#nr p'MSC!' e'!' =na
und in der Schleife:
#una P{': '} #zz 0

Ergebnis:
MSC: 05-XX
MSC: 06Axx
MSC: 51Axx
...
wie gewünscht.

Trotzdem würde ich das gerne verstehen!

Mit freundlichen Grüßen
Thomas Fischer 

PS.: Ich habe noch die obere Zeile durch
#cc Lna #zz 0
ersetzt, das funktioniert auch und verallgemeinert die Anwendbarkeit.




Mehr Informationen über die Mailingliste Allegro