[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