[Tustep-Liste] [SPAM] Ergänzen von fehlenden tags per Austauschtabelle
luckscheiter
luckscheiter at bbaw.de
Fr Jun 13 11:47:53 CEST 2025
Ah, vielen Dank, ja das macht Sinn ....
Am 2025-06-13 11:29, schrieb Christian Sonder:
> Lieber Herr Luckseiter,
>
> probieren Sie mal folgendes Beispielprogramm aus:
>
> #MAKRO
> $$ MODE TUSCRIPT, {}
>
> text = "abcde"
>
> BUILD X_TABLE x1 = *
> DATA -a-b-
> DATA -b-c-
> DATA -d-e-
>
> text = EXCHANGE(text, x1)
>
> TRACE * text
> *EOF
>
> Sie sehen, das Programm startet mit "abcde". In der Austauschtabelle
> wird
> a durch b, b durch c und d durch e getauscht. Ich vermute, sie würden
> "cccee" erwarten. In der Tat kommt aber nur "bccee" heraus. Warum?
> Als erstes wird das a ausgetauscht, Resultat: "bbcde", das nun erste
> Zeichen
> "b" wurde in diesem Schritt modifiziert und wird in diesem Durchgang
> nicht mehr weiter bearbeitet. Dann wird das "b" ersetzt, denn es war
> vom ersten Austausch nicht betroffen, Resultat "bccde",
> dann wird das "d" ersetzt, Resultat "bccee". Der Durchgang ist
> erledigt.
>
> Wenn Sie die drei Austauschanweisungen auf drei Tabellen aufteilen,
> wird das Resultat nach Tabelle 1 lauten: "bbcde", nach Tabelle 2:
> "cccde",
> nach Tabelle 3 "cccee", weil jetzt es jetzt mehrere Durchgänge gibt.
>
> Es werden also durchaus mehrere Ersetzungen pro Durchgang erledigt,
> nur eben nicht die "selbe Stelle", in diesem Beispiel der erste
> Buchstabe,
> der nur einmal und nicht zweimal getauscht wird.
>
> Ich hoffe, das hilft Ihnen weiter. Sie können gerne das selbe Programm
> einmal mit #KOPIERE und XX implementieren und einmal nur einen
> XX-Durchgang
> machen, und dann einen zweiten Versuch mit mehreren XX-Durchgängen,
> das Ergebnis müsste (hoffentlich) das Gleiche sein.
>
> Viele Grüße
> Christian Sonder
>
>
> Am 2025-06-13 10:59, schrieb luckscheiter:
>> Vielen Dank, lieber Herr Sonder,
>> ganz verstehe ich die Sache allerdings nicht, denn andere Anweisungen
>> aus derselben Austauschtabelle, z. B.
>>
>> DATA -\[.\]--
>>
>> wurden durchaus gleichzeitig mit anderen ausgeführt.
>>
>> Herzliche Grüße,
>> Stefan Luckscheiter
>>
>> Am 2025-06-11 18:29, schrieb Christian Sonder:
>>> Lieber Herr Luckscheiter,
>>>
>>> wie auch beim Parameter XX von Kopiere wird, wenn ich mich nicht
>>> irre, in einem Durchgang eine Stelle nur einmal modifiziert.
>>> Versuchen Sie einfach, die drei Austauschanweisungen nacheinander in
>>> drei separaten Tabellen auszuführen.
>>>
>>> text = exchange(text, Tabelle1)
>>> text = exchange(text, Tabelle2)
>>> text = exchange(text, Tabelle3)
>>> usw.
>>>
>>> Es gäbe noch alternativ die Möglichkeit, ihre Tabellen selbst zu
>>> modifizieren, aber das sollte der einfachste Weg sein.
>>>
>>> Viele Grüße
>>> Christian Sonder
>>>
>>> Am 2025-06-11 11:12, schrieb luckscheiter:
>>>> Liebe Liste,
>>>> ich habe eine Variable, die ein Wort und möglicherweise tags für
>>>> Schriftauszeichnungen wie <i>, <s>, <uP> usw. enthält, allerdings
>>>> jeweils möglicherweise Anfang- und Endtag, oder auch nur Anfang-
>>>> oder Endtag.
>>>> Die eventuell fehlen tags möchte ich nun ergänzen und würde gerne
>>>> fragen, wie man das am elegantesten macht.
>>>> Ich habe es versucht mit folgender Austauschtabelle:
>>>>
>>>> BUILD X_TABLE l1form = *
>>>> DATA --<i>*</i>--<i>*-<i>{-1=}</i>-
>>>> DATA --<s>*</s>--<s>*-<s>{-1=}</s>-
>>>> DATA --<uP>*</uP>--<uP>*-<uP>{-1=}</uP>-
>>>>
>>>> Das Problem dabei ist aber, dass so nur jeweils ein tag ergänzt wird
>>>> und aus
>>>>
>>>> <uP><i><s>Wörtlein
>>>> wird
>>>> <uP><i><s>Wörtlein</uP>
>>>>
>>>> und nicht wie gewünscht:
>>>>
>>>> <uP><i><s>Wörtlein</s></i></uP>
>>>>
>>>> Mache ich irgendetwas falsch?
>>>>
>>>> Viele Grüße in die Runde,
>>>> Stefan Luckscheiter
Mehr Informationen über die Mailingliste Tustep-Liste