[Allegro] acon und Zuweisungen

Thomas Berger ThB at Gymel.com
Mi Nov 26 08:06:53 CET 2014


Lieber Herr Eversberg,


>> die cstrings "Jd" und "Jl" funktionieren nicht - ich habe allerdings
>> nicht ueberprueft, ob sie je funktiniert haben, lt. xcstring.rtf
>> sollen sie aber funktionieren), zumindest aendert sich mit (F" ")
>> etwas daran.
>>
> Hier können wir nicht bedauernd zustimmen, sondern beides geht. Nur muß
> man "Jd" bzw. "Jl" direkt anhängen an den var-Befehl, nicht separat in
> einem neuen var-Befehl. Beispiele:
> 
> var "abc" Jd
> ins $uad
> var "abc" Jl
> ins $ual
> wri "uad=" $uad "ual=" $ual n

Ich hingegegen hatte einen etwas realistischeren Fall:


Write $cnt.err Jd

und

var $cnt.err Jd
Write iV

ausprobiert, allerdings noch nicht mit dem acon von heute.

Dass "J" (Kategorienummer erlaeutern) nur nach gewissen Konstruktionen,
die eine Kategorienummer erwaehnen, moeglich ist, leuchtet mir ein, aber
Jd und Jl koennen doch auf jeglichen iV-Inhalten operieren auch ohne
zu wissen, aus welchem Feld die stammen?

Vielleicht sollten wir an dieser Stelle aber innehalten: "Jd" ist ja nur
/eine/ Moeglichkeit, die iV in eine Art Transportformat umzuwandeln,
typischerweise machen wir das mit "dow wX". Allerdings bietet uns die
Exportsprache nur tabellengestuetzte Umwandlungen, nicht programmatische
Ansaetze, die jedes Zeichen in die Nummer seiner Position in der
Zeichentabelle umsetzen (interessant v.a. dann, wenn die iV UTF-8 sein
soll, dann will man *die* Zahl fuer das Unicode-Zeichen, nicht zwei bis
vier Zahlen fuer die Bytes der UTF-8-Darstellung). "Dezimal" ist da nur
eine Moeglichkeit, auch in der Variante &#nnn; als Parameterentitaet,
ueblich sind auch hexadezimale Darstellungen, nicht nur als &#xhhhh;
als XML-Parameterentitaet, sondern z.B. auch als \uhhhhhh fuer JSON.
Umgekehrt kann es wichtig sein, die Darstellung %HH%HH%HH fuer die
Hex-Werte der Bytes zu erzeugen, so wird naemlich in URLs escaped...
In Web-Kontexten ist acon natuerlich nicht alleine fuer die Ausgabe
zustaendig, sondern die Middleware uebernimmt eine Nachverarbeitung,
und auch Browser sind sehr tolerant und wandeln etwa in href-Attributen
gefundenes UTF-8 von sich aus in die benoetigte Form um...

Fuer eine der zukuenftigen Versionen koennten wir also ueberlegen, solche
programmatischen Umwandlungen umfassend anzugehen und dazu eine geeignete
Familie von CStrings bzw. ausfuehrliche Erweiterungen des xcode-Befehls
einzufuehren.

viele Gruesse
Thomas Berger



Mehr Informationen über die Mailingliste Allegro