[Squeak-ev] Squeak-FAQs

Markus Schlager m.slg at gmx.de
Sam Nov 24 19:21:38 UTC 2007


Vielleicht führt das hier auch einmal zu einer Erweiterung der 
Dokumentation auf squeak.de. Wer weiß? Aber ich könnte mir denken, daß 
ich mit diesen Fragen nicht ganz alleine dastehe. Vorneweg muß ich 
anmerken, daß ich 'Squeak by Example' noch nicht gelesen haben. 
Vielleicht klärt sich das eine oder andere dadurch.

Hintergrund der Fragen: Es geht hier nicht primär um die eToys, sondern 
um Smalltalk mit Hilfe von squeak.

1. In welcher Form soll ich meine Werke speichern? Als Projekt (.pr) 
oder als Monticello-Paket (.mcz) oder in noch einer anderen Form? 
Welche Variante ist in welcher Situation empfehlenswert? Wann/Wozu empfiehlt 
es sich, das ganze Image zu speichern?

"Soweit ich Squeak bislang verstanden zu haben glaube, erscheint mir 
Monticello die sinnvollste Variante, auf die ich meine Schüler auch zu 
trimmen versuche, wenn ich fertige Werke von ihnen haben möchte."

2. Ein Projekt ist darauf angewiesen, Dateien aus dem Dateisystem des 
Rechners zu laden und evtl. auch zu schreiben (etwa Rastergraphiken als 
Kostüme für Morphe oder Audiodateien, Datensätze oder was auch immer). 
Gibt es für solche Dateien 'übliche' Verzeichnisse als Speicherorte? 

3. Wie bringe ich solche Verzeichnisse/Dateien in ein Monticello-Paket 
für das ganze Projekt? Werden die dann beim Einspielen des Paketes in 
das Image auf dem Rechner auch wieder angelegt?

4. Wie spricht man in Smalltalk  das Verzeichnis an, in dem sich das 
Image auf dem Rechner befindet bzw. das Verzeichnis, in dem z.B. Projekte 
(.pr) standardmäßig gespeichert werden (das squeaklets- oder auch 
MySqueak-Verzeichnis)? Wie legt man diese Verzeichnisse in den 
Einstellungen (preferences) fest?

5. Ich habe mit den eToys ein MorphObjekt erzeugt und nach meinen 
Bedürfnissen angepaßt. Z.B. verfügt es nun über einige eToy-Skripte und 
ein neues Kostüm, das ich per drag&drop einfach in das Image gezogen 
habe. Ursrünglich könnte das MorphObjekt beispielsweise ein EllipseMorph 
gewesen sein, das ich entweder aus einer Klappe wie dem Lager gezogen 
oder aber auch von einem Workspace aus mittels 'Ellipsemorph new 
openInWorld' erzeugt habe. Das von mir angepaßte Objekt würde ich gerne 
als Prototyp für eine neue Klasse nutzen. Wie mache ich das? Bei den 
Halos habe ich die Option zum Erzeugen einer Unterklasse gefunden, aber 
Instanzen dieser Klasse sehen wieder genauso aus wie die ursprünglichen 
Ellipsen. Dabei wollte ich meine Anpassungen/Ergänzungen doch als 
Default-Werte von Instanzvariablen und die neuen Skripte als 
Methoden/Selektoren der Unterklasse sichern. Was mache ich falsch?

Vielen Dank für Antworten auf diese Fragen.

Markus
-----------------------------------------------
 Markus Schlager               m.slg(at)gmx.de