Déclaration / Expression / Instruction
Faisons un point sur la distinction entre déclaration, expression et instruction.
Déclaration
Une déclaration commence par let
et permet d'assigner un nom de variable à la valeur d'une expression :
# let a = 2 + 3;;
val a : int = 5
a
est la variable et 2 + 3
est un expression dont la valeur est 5
.
Expression
Une expression renvoie une valeur :
# 2 + 3;;
- : int = 5
# true;;
- : bool = true
Instruction
Une instruction est une expression qui ne revnoie rien.
Elle est de type unit
.
Une instruction modifie quelque-chose (mémoire, écran…), elle utilise un effet de bord.
# print_int 5;;
5- : unit = ()
Séquence d'instructions
On peut séparer les instructions par des ;
print_int 5;
print_int 6
Groupe d'instructions
On peut créer un groupe d'instructions avec des parenthèses :
let x = 6
let () = if x > 5 then (
print_int 5;
print_int 6
) else (
print_int 7;
print_int 8
)
Il est aussi possible d'utiliser begin … end
:
let x = 6
let () = if x > 5 then
begin
print_int 5;
print_int 6
end
else
begin
print_int 7;
print_int 8
end