Bonjour,
je débute en caml light et j'ai quelques petites questions. Afin de ne pas inonder le forum, je les regroupe ici :
1. Pourquoi le code suivant
renvoie-t-il [[|3|]; [|3|]; [|3|]; [|3|]] ? (je voudrais avoir [[|0|]; [|1|]; [|2|]; [|3|]])
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 let L = ref [] in let a=[| 0 |] in for i=0 to 3 do a.(0)<- i ; L:= a :: (!L) done; !L;;
2. Une fois des opérateurs créés (addition, soustraction, multiplication, division), puis-je leur donner un ordre de priorité, de manière définitive ? (sans avoir à utiliser des parenthèses à chaque fois).
3. Pourquoi je reçois le message "Warning: the variable A starts with an upper case letter in this pattern.", quand j'écris "let f A=A" ?
Quel est le mal que ça commence avec une majuscule ? On a bien a<>A, non? Comment se débarrasser du warning ?
4. Puis-je utiliser << #open "num" >> à l'intérieur d'une fonction ? (je voudrais une fonction qui l'ouvre automatiquement).
5. Peut-on me donner quelques informations sur les modules en général, et plus particulièrement sur "num" ? (je n'ai jamais utilisé cet outil de caml light). Notamment, qu'est-ce que Big_int et Ratio, et que signifie le double trait en bas dans "- : big_int__big_int = <abstr>" ?
6. Est-il possible de créer une fonction qui crée une variable globale ? (je voudrais créer une fonction f qui prend en argument a, et telle que, une fois (f a) appelée, j'aie b=a.
Merci d'avance pour vos réponses.
Partager