OCaml (option informatique) · Chapitre 1 · Exercice de TD
Portée lexicale
Découvrir OCaml : expressions, valeurs et types · niveau 2
Énoncé
Que renvoie la dernière phrase ? Justifier.
let a = 5
let f y = a + y
let a = 100
let resultat = f 1Corrigé
resultat vaut 6. La fonction f a été définie alors que a valait 5 : par portée lexicale, elle capture cette valeur. La redéfinition let a = 100 crée un nouveau a pour la suite, mais ne touche pas f, qui calcule donc 5 + 1 = 6.
Exercices semblables
- Application partielle corrigé
- Fonction d'ordre supérieur et polymorphisme corrigé
- Manipuler des n-uplets corrigé
- L'algorithme d'Euclide corrigé
- Suite définie par récurrence mutuelle corrigé