[Allegro] Zusammenfassung von Kategorien

Fischer, Thomas fischer at sub.uni-goettingen.de
Fr Feb 26 17:30:03 CET 2016


Hallo Herr Berger,

>> Ja, in anderen Programmiersprachen kann man da dann rückwärts zählen.
> 
> Darauf wuerde ich mich auch nicht verlassen, im Allgemeinen
> sind Hashes ja gerade nicht sortiert.

aber hier geht es eher um ein Array.

>> Da das hier nicht geht, wird es etwas komplizierter. Falls jemand
>> interessiert ist, hier die funktionierende Variante (vielleicht geht es
>> ja auch eleganter):
>> 
>> #-#
>> #uxy dxy
>> #uyz dyz
>> #451. ++ P>X
>> #-y
>> #451. ++ P>Y
>> #451. +y e0
>> 
>> #uyz p'#080p' t2 M
>> #uxy p'#451 ' M
>> #+#
>> 
>> #(X
>> #cc +- c'Nachlass' Axy
>> #cc P'; ' Ayz
>> #)X
>> 
>> #(Y
>> #cca e5 M
>> #)Y
> 
> Hilfe! Sie fuehren die Aktion so lange immer erneut aus, wie
> im vorigen Durchlauf #451er "vergessen" worden waren.

Ja, das ist korrekt. Aber auch nicht unsauber: ich lösche so lange, bis nichts mehr da ist.
Es wird ja auch nicht vergessen, sondern übersprungen, auf die Dauer (wegen des ".") sind jedenfalls alle weg.

> UP #(Y ist ja nicht notwendig, was Sie tun ist
> 
> #-y
> #t{s0}
> #451. ++ e5 M
> #t{s5}
> #451. +y e0

Darauf läuft es hinaus, nur dass ich #cca statt #t{s0} etc. benutze.
Im Prinzip finde ich das hinreichend übersichtlich.

> "Sauberer" waere, zuerst nur lesend den "Befund" an #451ern
> ermittlen (etwa bereits in Ihrem #(X), und dann per expliziter
> Schleife zu loeschen:
> 
>  % Ermitteln nach #ucc
> #nr dcc Z
> #t{s0}
> #451. ++ e5 P"\020" Acc
> #t{s5}
>  % Loeschen anhand der Liste in #ucc
> #-y
> #ucc e"\020" P" " M
> #ucc +y dcc b"\020" F"\020" Acc

Ihre Version liefe dann etwa auf das folgende hinaus:

#-#
#nr dxy dyz dzz
#451. ++ P>X                                   Sammeln

#-y
#uzz e"\020" P" " M                         Löschen
#uzz +y dzz b"\020" F"\020" Azz    Schleife

#uyz p'#080p' t2 M                          Eintragen
#uxy p'#451 ' M
#+#

#(X
#cca e5 P'\020' Azz
#cc +- c'Nachlass' Axy
#cc P'; ' Ayz
#)X

Dann entsteht gleich die Frage, ob das zusätzliche Anlegen und Abarbeiten von #uzz effektiver ist als meine Schleifenwiederholung.
Das könnte ja mal Herr Lehmann mit seinen Mammutdaten testen…

Viele Grüße
Thomas Fischer

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 842 bytes
Beschreibung: Message signed with OpenPGP using GPGMail
URL         : <http://bibservices.biblio.etc.tu-bs.de/pipermail/allegro/attachments/20160226/003cf04f/attachment.sig>


Mehr Informationen über die Mailingliste Allegro