Symbole
Ein Symbol ist eine Zeichenfolge ähnlich wie ein String, mit dem Unterschied das Symbole nicht manipuliert werden können. Dadurch sind sie sehr viel schneller als Strings. Symbole werden durch ein einfach Anführungszeichen begonnen und enden am nächsten Space, es gibt also kein Ausführungszeichen.
> hallo
'Hallo
> 'Welt!
'Welt!
Bedingungen
Bedingungen werden in Scheme mit folgendem if-Ausdruck realisiert:
<then>
<else>)
Wichtig ist, dass der else-Zweig nicht optional ist!
Dieses Beispiel testet ob eine Variable negativ oder positiv ist und gibt das Ergebnis aus:
> (if (> 0 variable)
'positiv
'negativ)
'positiv
Es gibt noch eine andere Form einer Bedingung mit beliebig vielen Tests. Hierbei ist der else-Zweig allerdings optional.
[<test 2> <then 2>]
[<test 3> <then 3>]
...
[else <else>])
Boolesche Funktionen
Es gibt in Scheme natürlich auch die gewohnten Booleschen Funktionen and und or. Bei and muss alles true sein, bei or nur min. ein Test. Des weiteren gibt es auch ein not und boolean=? Statement. Ein boolean=? testet ob die beiden übergebenen Werte gleich sind.
(or <test 1> <test 2>)
(not <test>)
(boolean=? <expression 1> <expression 2>)
Zu Beachten ist, das es eine Shortcut Regel gibt. Es werden also bei z.B. einem and nicht alle Tests ausgewertet, wenn bereits einer false war.
Tests
Um zu überprüfen ob eine Funktion den richtigen Wert zurück liefert oder eine Variable den richtigen Wert hat, stellt Scheme zwei Funktionen zur Verfügung:
(check-within <actual> <expected> <delta>)
Es gibt noch eine weitere Funktion die die Fehlermeldung einer eigenen Funktion prüft: