On 17.10.2011, at 13:15, Michael Paap wrote: > Am 17.10.2011 13:02, schrieb Bert Freudenberg: > >> Der Workspace deklariert Variablen automatisch bei der ersten >> Verwendung, ohne Warnung. > > Ja, das ist prinzipiell schon klar. > > Ich bin auch nur auf die Warnung gestoßen, weil wir dasselbe Beispiel > für mehrere Smalltalk-Systeme verwenden wollten, und beispielsweise > Smalltalk Express die explizite Deklaration verlangt. > > Mir erscheint es nur ein wenig seltsam, dass mich Squeak /nicht/ warnt, > wenn ich die Variable weder deklariere noch initialisiere, aber meint, > mich warnen zu müssen, wenn ich sie explizit deklariere, aber nicht > initialisiere. > > Falls der dahinterstehende Gedankengang sein sollte > > "Wenn der User die Variable schon unnötigerweise explizit deklariert, > wollte er sie sicher auch initialisieren und hat das wohl vergessen." > > dann kann ich das nicht so ganz nachvollziehen. ;-)
Aus Sicht des Compilers sind die Workspace-Variablen global. Somit brauchen sie weder deklariert noch initialisiert werden. Die per senkrechter Striche deklarierten Variablen sind temporär. Diese sollten vor Verwendung initialisiert werden, deswegen die Warnung. - Bert -
