Re: [Allegro] Variables Verkürzen (mit FLEX): Geht 's eleganter?

Heinrich Allers allers at t-online.de
So Apr 15 17:06:02 CEST 2012


Nachdem ich das einmal überschlafen habe, bin ich doch noch auf eine einfachere Lösung gekommen, 
bestehend in folgender FLEX-Datei:


   Die ersten n Zeichen (n ist eine mit #ux2 übergebene numerische Variable)
   einer mit #ux1 übergebenen Zeichenfolge herauspräparieren
var "abcdefghij"\ins #ux1
var "3"\ins #ux2   // <== VARIABEL soll das sein!
var ""\ins #ux3   // Initialisierung der Ergebnis-Anwendervariablen
var "0"\=   // Initialisierung des Zählers für Schleifendurchläufe
:schleife
var #ux3 #ux1(0,1)\ins #ux3\var #ux1(1,0)\ins #ux1\if "" jump fertig
+1\var Z\if <#ux2 jump schleife
:fertig
var #ux3\mes   // Schauen, ob's klappt


Damit bin ich eigentlich schon ganz zufrieden - aber vielleicht gibt's ja doch eine noch kompaktere 
Lösung?


Mit besten Grüßen:

Heinrich Allers


Von:            	"Heinrich Allers" <allers at t-online.de>
An:             	Allegro-C Diskussionsliste <allegro at biblio.tu-bs.de>
Datum:   	Sat, 14 Apr 2012 17:10:08 +0100
...
> Ich möchte mit FLEX-Mitteln von einer Zeichenfolge nur die ersten n (n variabel!) Zeichen greifen und 
> mache das derzeit so, wie es diese FLEX-Datei zeigt:
> 
> 
>    Die ersten n Zeichen (n ist eine mit #ux2 übergebene numerische Variable)
>    einer mit #ux1 übergebenen Zeichenfolge herauspräparieren
> if "ruecksprung" jump ruecksprung
> var "abcdefghij"\ins #ux1
> var "3"\ins #ux2   // <== VARIABEL soll das sein!
> expo f _xyzxyz.flx
> wri 'var "' #ux1 '"\\var (0,' #ux2 ')\\ins #ux3\\exec X aa ruecksprung'
>    Das erste "' ist = ASCII(dez.) 34 + ASCII(dez.) 39
>    Das zweite '" ist = ASCII(dez.) 39 + ASCII(dez.) 34
> close x
> exec X _xyzxyz.flx
> :ruecksprung
> delete _xyzxyz.flx   // Aufräumen
> var #ux3\mes   // Schauen, ob's klappt
> 
> 
> Das klappt zwar, aber ich hätte es gerne kürzer, eleganter, "monolithischer" - ohne diesen Rückgriff auf 
> eine temporäre zusätzliche FLEX-Datei.
> 
> Aber vielleicht geht's ja wirklich nicht geradlieniger und knapper? Oder doch?
> 
> 
> Mit besten Grüßen von
> 
> Heinrich Allers
> 
> allers at t-online.de * http://www.h-allers.de
> Netztagebuch: http://heinrich-erlo-ger.blogspot.com/
> Bitácora: http://heinrich-erlo-spa.blogspot.com/
> _______________________________________________
> Allegro mailing list
> Allegro at biblio.tu-bs.de
> http://sun250.biblio.etc.tu-bs.de/mailman/listinfo/allegro




Mehr Informationen über die Mailingliste Allegro