1.1.7 Scheme et les conditions
if
Scheme dispose d’une procédure if
:
(if expression-test expression-affirmative expression-négative)
expression-test est une expression qui renverra une valeur
booléenne. Dans le cas où expression-test retourne #t
, la
procédure if
renvoie la valeur de expression-affirmative,
et celle de expression-négative dans le cas contraire.
| guile> (define a 3)
guile> (define b 5)
guile> (if (> a b) "a est plus grand que b" "a n'est pas plus grand que b")
"a n'est pas plus grand que b"
|
cond
Une autre manière d’introduire une condition en Scheme est d’utiliser
l’instruction cond
:
(cond (expression-test-1 expression-résultat-séquence-1)
(expression-test-2 expression-résultat-séquence-2)
…
(expression-test-n expression-résultat-séquence-n))
Comme par exemple ici :
| guile> (define a 6)
guile> (define b 8)
guile> (cond ((< a b) "a est plus petit que b")
… ((= a b) "a égale b")
… ((> a b) "a est plus grand que b"))
"a est plus petit que b"
|