Changes between Version 41 and Version 42 of squeak_faq


Ignore:
Timestamp:
01/13/2014 11:14:47 AM (10 years ago)
Author:
willi.mueller
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • squeak_faq

    v41 v42  
    290290
    291291
    292 2.) Du kannst in Squeak jeder Klasse `#allInstances` senden und bekommst dann eine Liste, die alle Objekte der Klasse enthält. An diese Liste können dann mit dem Collection Protocol (z.B. `#do:`) Nachrichten an alle Objekte geschickt werden. Somit kannst du die Objekte bearbeiten oder mittels stopStepping zum Stillstand bringen.
     2922.) Du kannst in Squeak jeder Klasse `#allInstances` senden und bekommst dann eine Liste, die alle Objekte der Klasse enthält. An diese Liste können dann mit dem [#collection-protocol Collection-Protokoll]. Nachrichten an alle Objekte geschickt werden. Somit kannst du die Objekte bearbeiten oder mittels stopStepping zum Stillstand bringen.
    293293
    294294
     
    710710Leider muss man sich darum selbst kümmern, indem man die benötigten Tastencodes für jede Plattform herausfindet und dann anhand der Plattform, auf der die VM gerade läuft, entscheidet, welche Codes berücksichtigt werden sollen. Die Plattform kann man mit `Smalltalk os platformName` ermitteln (die Rückgabewerte sind z. B. `'mac os'`, `'Win32'` und `'unix'`). Eine Möglichkeit wäre, die Tastencodes auf der Klassenseite abzulegen und beim Zugriff darauf anhand der Plattform zu entscheiden, welcher der Codes zurückgegeben werden soll. Hier gibt es mehrere Varianten jeweils mit Vor- und Nachteilen (Plattform-Unterscheidung bei jedem Zugriff? Objekt mit aktuellen Codes anlegen? Wie sicherstellen, dass das richtige verwendet wird, wenn man das Image von einer Plattform zur anderen kopiert?). Überlegt, was sich für euer Projekt am besten eignet.
    711711
    712 === Iterieren über Collections mit dem Collection-Protokoll ===
     712=== Iterieren über Collections mit dem Collection-Protokoll === #collection-protocol
    713713Wichtig ist, auch für die Klausur, dass ihr nicht ausschließlich `#do:` verwendet, um zu iterieren. Nutzt unbedingt die Möglichkeiten des Collection-Protokolls.
    714714{{{