« INFO401 : utilisation Caml » : différence entre les versions
Aller à la navigation
Aller à la recherche
Ligne 1 : | Ligne 1 : | ||
=Quelques éléments de syntaxe pour Caml= |
=Quelques éléments de syntaxe pour Caml= |
||
==Commentaires== |
|||
En Caml, les commentaires sont entourés de "<tt>(*</tt>" et "<tt>*)</tt>" : |
|||
(* Ceci est un commentaire (* et ceci est un commentaire dans un commentaire *) et ici, c'est toujours des commentaires *) |
|||
==Définitions== |
==Définitions== |
||
* '''définition''' |
|||
On peut définir une valeur et lui donner un nom avec la syntaxe |
|||
let nom = expr |
|||
Par exemple : |
|||
let pi = 3.1415926536 |
let pi = 3.1415926536 |
||
* '''définition avec type explicite''' |
|||
Il est possible de préciser le type de la définition, même si cela est rarement nécessaires : |
|||
let x:float = pi /. 2.0 |
let x:float = pi /. 2.0 |
||
* '''définition d'une fonction''' |
|||
Pour définir une fonction, on peut utiliser deux syntaxes : |
|||
⚫ | |||
⚫ | |||
ou bien |
|||
let valeurAbsolue = fun n -> if (n>0) then n |
let valeurAbsolue = fun n -> if (n>0) then n |
||
else (-n) |
else (-n) |
||
* '''définition d'une fonction''' deuxième méthode |
|||
⚫ | |||
⚫ | |||
* '''définition d'une fonction, avec types explicites''' |
|||
Ici aussi, on peut préciser les types : |
|||
⚫ | |||
⚫ | |||
⚫ | |||
let valeurAbsolue : int->int = fun n -> if (n>0) then n |
let valeurAbsolue : int->int = fun n -> if (n>0) then n |
||
else (-n) |
else (-n) |
||
⚫ | |||
⚫ | |||
⚫ | |||
* '''définition locale à une expression''' |
|||
Il possible de faire des définitions locales avec la syntaxe |
|||
... let x=... in ... |
|||
Par exemple, |
|||
let x:float = let pi = 3.14 in |
let x:float = let pi = 3.14 in |
||
pi /. 2.0 |
pi /. 2.0 |
Version du 13 janvier 2009 à 17:22
Quelques éléments de syntaxe pour Caml
Commentaires
En Caml, les commentaires sont entourés de "(*" et "*)" :
(* Ceci est un commentaire (* et ceci est un commentaire dans un commentaire *) et ici, c'est toujours des commentaires *)
Définitions
- définition
let pi = 3.1415926536
- définition avec type explicite
let x:float = pi /. 2.0
- définition d'une fonction
let valeurAbsolue = fun n -> if (n>0) then n else (-n)
- définition d'une fonction deuxième méthode
let valeurAbsolue n = if (n>0) then n else (-n)
- définition d'une fonction, avec types explicites
let valeurAbsolue : int->int = fun n -> if (n>0) then n else (-n)
ou
let valeurAbsolue (n:int) : int = if (n>0) then n else (-n)
- définition locale à une expression
let x:float = let pi = 3.14 in pi /. 2.0
Si une variable est définie plusieurs fois, c'est toujours la dernière définition qui est utilisée.