... just another site around the web ...





Nur wenn wir unseren Egoismus ablegen und beginnen, uns in Geduld und Demut dem Wohle anderer zu widmen, werden wir befreit von all unseren Leiden und Zwängen.
- Dalai Lama

Programmiersprache Smalltalk


Hallo Welt

Transcript show: 'Hello World!'.
'Hello World' do: [ :eachChar | Transcript show: eachChar asString; cr. ].

Konstruktoren

Konstruktoren gibt es eigentlich nicht, es sind normale Klassenmethoden die entsprechend überschrieben werden können. Sie müssen also nicht ein Objekt der Klasse zurück geben (sondern können auch Factory-Methoden sein).

Syntax

Kommentare

"Ein Kommentar"

Zeilenende und Einrückung

Anweisungen werden durch einen Punkt abgeschlossen

x := 1. Transcript show: x printString.

Zuweisungen

bezeichner := objekt

Blöcke

Begrenzung durch eckige Klammern "[" und "]"

Kontrollstrukturen

Bedingte Verzweigung

aBoolean ifTrue: [ "ein Block mit Anweisungen" ]
( einAusdruck ) ifTrue: [ "ein Block mit Anweisungen" ]
aBoolean ifTrue: [ ... ] ifFalse: [ ... ]

Beispiele

x := 1.
x < 2 ifTrue: [Transcript show: 'x ist kleiner als 2'].
x > 0 ifTrue: [Transcript show: 'x ist größer als 0'].

Schleifen

10 timesRepeat: [ Transcript show: '.' ].
1 to: 10 do: [ :i | Transcript show: i printString ].

while

[ "ein Block, der ein boole'sches Objekt zurückgibt" ] whileTrue: [ "Block mit Schleifenrumpf" ].
[ "ein Block, der ein boole'sches Objekt zurückgibt" ] whileFalse: [ "Block mit Schleifenrumpf" ]

Beispiele:

x := 1.
[ x <= 5 ] whileTrue: [ Transcript show: x printString. x := x + 1. ].
x := 5.
[ x >= 1 ] whileTrue: [ Transcript show: x printString. x := x - 1. ].

Iteration

#(1 2 3) do: [ :i | Transcript show: i printString]

Interpreter

gst

Mit erweiterter Statistik-Ausgabe zur Performance

gst -V








Copyright © 2018

Impressum