Gültigkeit von Variablen

  • Hallo!

    Möglicherweise habe ich nur ein Verständnisproblem, aber mit der Definition von Variablen bin ich (für mich) auf eine Ungereimtheit gestossen.


    In dem kleinen Beispiel habe ich mich mit der AdlibRegister-Funktion beschäftigt. Hier wird die Varable $a als local defniert. Diese wird aber auch in der Funktion ausgegeben!
    Soll das so sein das lokale Variablen in einer Funktion verfügbar sind?

    Definiere ich innerhalb der Funkion die Variable als lokal ist sie leer = so wie es sein soll!

    In einem Bespiel würde ja die Variable einer Globalen definition entsprechen, obwohl sie explizit als local angegeben ist!

    lg
    Racer

  • Wenn du eine Variable als local im globalen Raum erstellst ist sie eine globale.
    Local/Global dient mehr der Leserlichkeit und dass du innerhalb einer Funktion Variablen im globalen Namensraum erstellen kannst.

    Um so ein Problem zu lösen lässt du dein Programm in einer main-Funktion laufen und kapselst dann alle lokalen von den globalen Variablen.

    AutoIt
    ;Als erste Zeile
    Exit( _main() )
    
    
    Func _main()
         ;Eigentlicher Code
    EndFunc