[caml/Ocaml] entete de fonction
Résolu
Tartouffe
Messages postés
37
Date d'inscription
Statut
Membre
Dernière intervention
-
Tartouffe Messages postés 37 Date d'inscription Statut Membre Dernière intervention -
Tartouffe Messages postés 37 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis actuellement sur un projet en caml et j'aimerai savoir s'il est possible de faire en sorte que deux fonctions s'appellent entre elles, en mettant les entête des fonctions en haut du fichier (je ne sais pas si c'est faisable) (ou autres je ne sais pas), si les la solution des entête est bonne j'aimerai connaitre la syntaxe de ces entête.
je vous met un exemple de fonctions s'appelant entre elles pour que mon probleme soit clair :
let rec zefg
(a:int)
:int
=
if (a=10) then a
else if ((a mod 2)=0) then az a
else zefg (a+1);;
let rec az
(a:int)
:int
= if ((a mod 2)=1) then zefg a
else{az (a+3)};;
ici la fonction zefg appelle la fonction az et vis versa.
voila merci de vous pencher la dessus
je suis actuellement sur un projet en caml et j'aimerai savoir s'il est possible de faire en sorte que deux fonctions s'appellent entre elles, en mettant les entête des fonctions en haut du fichier (je ne sais pas si c'est faisable) (ou autres je ne sais pas), si les la solution des entête est bonne j'aimerai connaitre la syntaxe de ces entête.
je vous met un exemple de fonctions s'appelant entre elles pour que mon probleme soit clair :
let rec zefg
(a:int)
:int
=
if (a=10) then a
else if ((a mod 2)=0) then az a
else zefg (a+1);;
let rec az
(a:int)
:int
= if ((a mod 2)=1) then zefg a
else{az (a+3)};;
ici la fonction zefg appelle la fonction az et vis versa.
voila merci de vous pencher la dessus
A voir également:
- [caml/Ocaml] entete de fonction
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction somme excel - Guide
2 réponses
Il faut que tu déclares les deux simultanément avec and
Remarques au passage, tu as une récursivité infinie si a>10 dans zefg, pour faire des blocs de code tu ne peux pas faire { ... } comme en C mais tu peux utiliser begin end
let rec zefg a = if (a=10) then a else if ((a mod 2)=0) then (az a) else zefg (a+1) and az a = if ((a mod 2)=1) then zefg a else az (a+3) ;;
Remarques au passage, tu as une récursivité infinie si a>10 dans zefg, pour faire des blocs de code tu ne peux pas faire { ... } comme en C mais tu peux utiliser begin end