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"