let x=5;;
if x=5 then x=2 else x=1;;

quit;;
Sally
: 3/ = est une comparaison, pas une affectation.
4/ si tu fais let x = 5, tu déclares une constante. Pour faire une variable, c'est let x = ref 5,
tu accèdes ensuite au contenu de la variable par !x
et tu peux lui affecter une valeur avec :=
Sally
: naPO > 1/ peut-être que quit existe en caml light alors.
Le let obligatoire, c'est comme dans les très vieilles versions de BASIC obsolètes depuis au moins 10 ans.
Et avec ça, telchar veut encore me faire croire qu'il n'y a pas de symboles contre-intuitifs en Caml?
En d'autres mots, il faut utiliser un autre opérateur pour les assignements (:=) que pour l'initialisation (let ... =).
Hippohmu
: C'est tout à fait semblable au * des pointeurs en C, et je suppose que tu trouves ce symbole merveilleusement naturel...
Hippohmu :
Et ça?
let a x y = y x in
let b x y = x y a in
let c x y = x b y in
let d x y = x y c in
let e x y = x d y in
let f x y = x y e in f;;
for i = 0 to n do <expr> done
let rec boucle i = (if i <= n then <expr>; boucle i + 1) in boucle 0
let boucleforalaC ~init ?(cond = function _ -> true) ?(incr = function x -> x) body = let rec do_boucle i = (if cond i then body i; do_boucle (incr i)) in do_boucle init