Adloun

OCaml (option informatique) · Chapitre 1 · Application directe du cours

Diagnostiquer des erreurs de type

Découvrir OCaml : expressions, valeurs et types · niveau 1 (application)

Énoncé

Pour chaque phrase, dire si elle est acceptée ; sinon, expliquer l'erreur et la corriger.

(* a *) 3 + 4.0
(* b *) if 1 < 2 then 0 else "zéro"
(* c *) 5.0 /. 2

Corrigé

(a) Refusée : + attend deux int, or 4.0 est un float. Correction selon l'intention : 3 + 4 (entiers) ou 3.0 +. 4.0 (flottants).

(b) Refusée : les deux branches doivent avoir le même type, or 0 est int et "zéro" est string. Correction : choisir un type commun, p. ex. if 1 < 2 then "0" else "zéro".

(c) Refusée : /. attend deux float, or 2 est un int. Correction : 5.0 /. 2.0.

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre