03.11.2013 Aufrufe

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

6.2 Einsatz von Blöcken 101<br />

ˆ Blöcke mit Block-Parametern wie z.B.:<br />

“[:nummer|Transcript cr; show: ’Jahrgangsstufe’; show: nummer]”<br />

Hinweis: Anstelle der Kaskade “show: ’Jahrgangsstufe’; show: ’11’ ” können wir auch die<br />

Basis-Methode “,” aus der Basis-Klasse “FixedCollection”, die zur Reihung von Zeichenketten<br />

eingesetzt werden kann, in der folgenden Form verwenden: “show: ’Jahrgangsstufe’,<br />

’11’ ” (siehe Kapitel 9).<br />

Da es sich bei einem Block um ein Objekt handelt, kann ein Block auch einer Variablen<br />

zugeordnet werden, wie dies z.B. bei der Zuweisung<br />

VarBlock := [Transcript cr; show: ’Jahrgangsstufe ’; show: ’11’]<br />

der Fall ist.<br />

6.2.2 Ausführung eines Blockes<br />

Durch den Einsatz der Basis-Methoden “value”, “value:” und “value:value:”, die in<br />

der Basis-Klasse “Context” – einer Oberklasse der Basis-Klasse “HomeContext” –<br />

vereinbart sind, können die in einem Block enthaltenen Block-Anforderungen zur<br />

Ausführung gebracht werden.<br />

ˆ “value”, “value:”, “value:value:”:<br />

Durch den Einsatz der Basis-Methode “value” läßt sich ein Block ausführen,<br />

der keinen Block-Parameter besitzt und als Empfänger-Objekt der Message<br />

“value” verwendet wird.<br />

Enthält ein Block einen oder zwei Block-Parameter, so sind die Keyword-<br />

Messages “value:” bzw. “value:value:” einzusetzen und als Argumente diejenigen<br />

Objekte anzugeben, die für die Block-Parameter bei der Ausführung der<br />

Block-Anforderungen eingesetzt werden sollen.<br />

Hinweis: Beim Einsatz der Keyword-Message “value:value:” werden die beiden<br />

Argumente den vereinbarten Block-Parametern gemäß ihrer Reihenfolge zugeordnet.<br />

Als Ergebnis-Objekt jeder dieser Messages ergibt sich dasjenige Objekt, das als<br />

Ergebnis-Objekt aus der zuletzt ausgeführten Block-Anforderung resultiert.<br />

Hinweis: Wird einem leeren Block der Form “[ ]” die Nachricht “value” zugestellt, so ist<br />

als Ergebnis-Objekt der Block-Ausführung die Pseudovariable “nil” festgelegt. Mit dem<br />

Begriff “logischer Block” werden Blöcke bezeichnet, deren Ergebnis-Objekt gleich einer<br />

der beiden Pseudovariablen “true” bzw. “false” ist (siehe Abschnitt 6.3). Blöcke mit zwei<br />

Block-Parametern werden binäre Blöcke genannt.<br />

Ist es notwendig, einen Block mit mehr als zwei Block-Parametern zur Ausführung zu bringen,<br />

so können sämtliche Argumente als Bestandteil eines geeigneten Sammlers festgelegt<br />

und dieser Sammler als Argument der Message “value:” dem Block-Parameter zugeordnet<br />

werden.<br />

Sofern z.B. ein Block, der der globalen Variablen “VarBlock” durch die Zuweisung<br />

VarBlock := [Transcript cr; show: ’Jahrgangsstufe ’, ’11’]

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!