# let average a b = let sum = a +. b in sum /. 2.0;; val average : float -> float -> float = <fun>
La formule standard let nom = expression in sert à définir une expression locale nommée, et nom peut ensuite être utilisé dans la fonction à la place de expression jusqu'au ;; qui marque la fin du bloc de code. Remarquez que nous n'avons pas changé l'indentation après in. Considérez let ... in comme s'il s'agissait d'une instruction.
Oui ça sera ça merci!
C'est en gros pour créer une variable temporaire et il faut mettre in pour pouvoir réutiliser cette variable jusqu'au ;; qui marque l'exécution.
Un grand merci !;)
Le noyau historique du langage est commun, mais chacun ont dérivés de leur côté depuis 1990. La dernière version de Caml Light date de 2002 et aujourd'hui seul OCaml est mis à jour mais sans se restreindre à la syntaxe de Caml Light.
Exemple basique de différences, pour créer un tableau :
En Caml Light on fait
make_vect 5 0;;
mais en OCaml ce genre de fonctions utilitaires ont été normalisées avec une notation objet
Array.make 5 0;;
ce qui fait bien sûr la même chose au final mais avec une syntaxe plus récente.
C'est kif kif (sous réserve d'y mettre un peu de couleur :-))
Remarque : l'usage du dans l' exemple de est inutile.
NB. Pour tes prochaines questions, merci de préciser si tu utilises Objective Caml ou Caml Light, il y a quelques différences entre les deux.
C'est Caml Light
Mais le langage reste le même => la syntaxe aussi : Caml non?
Exemple basique de différences, pour créer un tableau :
En Caml Light on fait mais en OCaml ce genre de fonctions utilitaires ont été normalisées avec une notation objet ce qui fait bien sûr la même chose au final mais avec une syntaxe plus récente.
Donc je suis sous Caml Light une version plus mise à jour.
De toute façon à la fin de ce semestre je n'utiliserai plus ce langage ^^