AW: AW: [Allegro] Kontrolle mit A99
Bernhard Eversberg
ev at biblio.tu-bs.de
Mo Feb 1 09:55:26 CET 2010
Thomas Fischer schrieb:
>> Gibt's: write kn bzw. write kr (10 bzw. 13 10 als
>> Feldende) Steht in xcstring.rtf
>
> Ja, dann habe ich aber den ganzen Datensatz als Block, ich wollte ihn als
> Zeile wie in der Logdatei.
Mit Code 0 als Trennzeichen?
> Ich habe mir mittlerweile mit k1 und k2 eine
> Schleife gebaut, da geht prima.
Das ist dann in der Tat die bessere Methode.
>> "erase" ist der FLEX-Befehl zum Löschen des aktuellen Satzes,
>> ohne ihn wäre also der onerase-flx wirkungslos. Und
>> "doppelt löschen", wie sollte das wohl gehen?
>> Auch hierzu gibt die Doku Auskunft: h xerase
>
> Das habe ich eben nicht ganz verstanden.
> Wenn es *kein* onerase.flx gibt, wird mit "löschen" der Datensatz gelöscht.
> Gibt es ein onerase.flx, wird mit "löschen" der Flex und darin dann "erase"
> aufgerufen.
> Ohne dieses "erase" wird der Datensatz (zumindest bei einem Test) auch
> gelöscht.
> Daher die Frage, welche Rolle dieses "erase" spielt.
Es löscht den Satz. Deshalb wird dann noch "NO" in die iV geschrieben,
damit das Programm nicht nochmals selber die Löschroutine aufruft, die
dann nichts mehr brächte.
Das sieht, zugegeben, etwas indirekt aus.
>
> Noch ein Zusatz: Gibt es mittlerweile eine Möglichkeit, die interne Variable
> direkt anzusprechen (etwa wie $_ in Perl)? Ich würde gerne so etwas wie
>
> write 'Der Wert ist ' #iV '!'
>
> ausgeben können, anstatt dafür drei Zeilen zu benötigen.
> Manchmal würde die explizite Angabe das Skript aus lesbarer machen.
>
Nein, das gibt es noch nicht. Man hat sich also zu behelfen mit z.B.
ins $iV
write 'Der Wert ist '" $iV
Auch $_ würde gehen, es zählt dann in a99 zu den sog. "großen"
Variablen, d.h. ist FLEX-übergreifend, in acon ist es egal.
B.E.
Mehr Informationen über die Mailingliste Allegro