[caml] problème syntaxe avec des if imbriqués
Fenring
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,je suis nouveau sur le forum(donc si le topic est pas à la bonne place d'avance mes excuses)
je fais un peu(mais vraiment peu^^) de caml,et j'ai un problème dans un programme, je vous mets la partie de programme qui coince:
if !s1<= !d1 then begin
if !s2<= !d1 then permutation P1 P1;
else if !s2<= !d2 then permutation P1 P2;
else if !s2<= !d3 then permutation P1 P3;
else if !s2<= !d4 then permutation P1 P4;
else if !s2<= !d5 then permutation P1 P5;
else permutation P1 P6; end
else if !s1<= !d2 then begin
if !s2<= !d1 then permutation P2 P1;
else if !s2<= !d2 then permutation P2 P2;
else if !s2<= !d3 then permutation P2 P3;;
else if !s2<= !d4 then permutation P2 P4;
else if !s2<= !d5 then permutation P2 P5;
else permutation P2 P6; end
Donc en fait,il s'agit de faire des if imbriqués,il me met erreur de synthaxe au bout du premier else, donc je suppose que j'ai une erreur dans ma façon de les imbriquer,mais je vois pas trop comment les imbriquer alors(je débute,comme je l'ai dit), j'aimerai une explication et sinon pensez-vous qu'un match soit plus approprié?
Merci d'avance,Fenring.
je fais un peu(mais vraiment peu^^) de caml,et j'ai un problème dans un programme, je vous mets la partie de programme qui coince:
if !s1<= !d1 then begin
if !s2<= !d1 then permutation P1 P1;
else if !s2<= !d2 then permutation P1 P2;
else if !s2<= !d3 then permutation P1 P3;
else if !s2<= !d4 then permutation P1 P4;
else if !s2<= !d5 then permutation P1 P5;
else permutation P1 P6; end
else if !s1<= !d2 then begin
if !s2<= !d1 then permutation P2 P1;
else if !s2<= !d2 then permutation P2 P2;
else if !s2<= !d3 then permutation P2 P3;;
else if !s2<= !d4 then permutation P2 P4;
else if !s2<= !d5 then permutation P2 P5;
else permutation P2 P6; end
Donc en fait,il s'agit de faire des if imbriqués,il me met erreur de synthaxe au bout du premier else, donc je suppose que j'ai une erreur dans ma façon de les imbriquer,mais je vois pas trop comment les imbriquer alors(je débute,comme je l'ai dit), j'aimerai une explication et sinon pensez-vous qu'un match soit plus approprié?
Merci d'avance,Fenring.
A voir également:
- [caml] problème syntaxe avec des if imbriqués
- If exist ✓ - Forum Autoit / batch
- Trouver erreur de syntaxe fichier txt ✓ - Forum PHP
- The realtek network controller was not found. if deep sleep mode is enabled please plug the cable ✓ - Forum Pilotes (drivers)
- Impossible d'ouvrir un fichier txt avec Python ✓ - Forum Python
- Trouver erreur de syntaxe fichier txt pix - Forum Autoit / batch
1 réponse
La répétition de tes données pourrait être traitées par des itérations :
let d=[| d1; d2; d3; d4; d5|];; let p=[| p1; p2; p3; p4; p5; p6|];; if !s1<= !d1 then s:= !s1 else s:= !s2;; let continue=ref true and i=ref 1;; while !continue && !i<5 do if s<=d.(!i-1) then begin permutation p.(0) p.(!i-1); continue:=false; end; i:= !i+1; done;; if !continue then permutation p.(0) p.(5);;