Bonjour à tous, c'est encore moi ^^
Je viens vers vous car j'ai deux fonctions :
Le probléme c'est que lorsque je veux compiler la fonction 'recup_pt_traj', j'ai l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 let dims mat = let n = Array.length mat in if n = 0 then (0, 0) else (n, Array.length mat.(0));; let recup_pt_traj m = let rec loop_mat i j lis = let liste = (if m(i).(j)==3 then (i,j)::lis else lis) in let dim = dims m in match () with |() when i=fst(dim) && j=snd(dim) -> liste |() when i=fst(dim) -> loop_mat 0 (j+1) liste |() when j=snd(dim) -> loop_mat (i+1) 0 liste |() -> loop_mat (i+1) j liste in loop_mat 0 0 [];;
Je ne comprends vraiment pas pourquoi il attend le type 'b array array.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Characters 128-129: let dim = dims m in ^ Error: This expression has type 'a -> int but an expression was expected of type 'b array array
C'est du au fait que dans le let plus haut je manipule une matrice ? Le if serait inadapté?
Quand j'enléve le in , j'ai cette erreur :
Que la je ne comprends pas du tout...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Characters 358-360: loop_mat 0 0 [] ;; ^^ Error: Syntax error
Si quelqu'un a une idée, je prends
Partager