[linux-l] [Lösung-II] awk
Olaf Radicke
briefkasten at olaf-radicke.de
Di Aug 2 09:27:32 CEST 2011
Peter Ross <Peter.Ross at bogen.in-berlin.de> hat am 2. August 2011 um 01:46
geschrieben:
> Quoting "Olaf Radicke" <briefkasten at olaf-radicke.de>:
>
> > Ich habe gerade das nächste Riesenproblem entdeckt: Es gibt _nur_ globale
> > Variab! ...Was ein Scheiß.
> > Der Typ, der die Sprache entworfen hat, muss ein Vollidiot gewesen sein.
[...Geschichte von AWK...]
Danke für die Ausführung. Stimmt das mit der Legastheni wirklich?
> Wenn ich einen Nagel einschlagen will, nehm ich 'nen Hammer. Wenn ich
> 'ne Strasse aufreissen will, 'nen Presslufthammer, wenn ich was
> Groesses ausgraben will, uss ich noch mal in die Werkzeugkiste gucken..
>
> Vielleicht ist der Anwender dieser Software nicht besonders gluecklich
> im Griff in seine Werkzeugkiste?
Wie schon gesagt: Ich habe die Wahl zwischen Dash (Nicht Bash!) und AWK.
Das ist meine Vorgabe.
Ich habe mittlerweile auch eine Lösung für das Problem mit den lokalen Variablen
gefunden. Was in AWK wie eine syntaktische Ungenauigkeit aussieht ist dort
ein Sprachmittel:
Wenn man die Funktions-Parameter mit einem zusäzlichen Leerzeichen trennt,
definiert man alle Variablen die dann folgen als lokal. Beispeil:
function subfunktion(wert, local_i)
{
local_i = 1
print wert
print "loca:" local_i
local_i = 2
print "loca:" local_i
subsubfunktion("sub-sub-funktion")
print "subfunktion loca:" local_i
}
function subsubfunktion(wert, local_i)
{
local_i = 1
print wert
print "subsub loca:" local_i
}
...ziemlich irre. Ein Leehrzeichen mehr oder weniger, und das Prog macht was
völlig anders.
Gruß
Olaf
Mehr Informationen über die Mailingliste linux-l