[caml/Ocaml] entete de fonction

Résolu/Fermé
Tartouffe Messages postés 37 Date d'inscription mercredi 22 août 2007 Statut Membre Dernière intervention 8 décembre 2011 - 24 nov. 2009 à 16:06
Tartouffe Messages postés 37 Date d'inscription mercredi 22 août 2007 Statut Membre Dernière intervention 8 décembre 2011 - 27 nov. 2009 à 14:55
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
A voir également:

2 réponses

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
26 nov. 2009 à 12:29
Il faut que tu déclares les deux simultanément avec and

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
0
Tartouffe Messages postés 37 Date d'inscription mercredi 22 août 2007 Statut Membre Dernière intervention 8 décembre 2011 4
27 nov. 2009 à 14:55
Merci je vais tester ça de suite et pour ta remarque merci mais c'était juste un exemple ça n'a rien a voir avec ce que je doit faire donc bon j'ai fait le premier truc qui me passé par la tête
0