Adloun

Portée lexicale

Exercice · OCaml (option informatique), chapitre 1 — Découvrir OCaml : expressions, valeurs et types

Énoncé

Que renvoie la dernière phrase ? Justifier.

let a = 5
let f y = a + y
let a = 100
let resultat = f 1

Corrigé

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.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.