ReLast - Klassik


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 © 2024

Datenschutz | Impressum