Voici mon code:OCaml: Pourquoi ce code produit-il une erreur de vérification de type?
let avg l =
List.fold_left (+.) 0. l /. float (List.length l);;
let variability l =
let xbar = avg l in
let odp = (List.map (fun i -> ((float) i -. xbar) ** 2.0) l) in
let sum = List.fold_left (+.) 0. odp in
sum /. (float) length l;;
Entrer dans le présent produit toplevel les éléments suivants:
val avg : float list -> float = <fun>
# Characters 107-108:
let odp = (List.map (fun i -> ((float) i -. xbar) ** 2.0) l) in
^
Error: This expression has type float list but is here used with type
int list
J'ai essayé de travailler avec ce depuis longtemps, mais je ne peux pas comprendre pourquoi cela produit une erreur. Pense-t-il que l
est une liste int?
SOLUTION: (.! Merci d'en bas)
let avg l =
List.fold_left (+.) 0. l /. float (List.length l);;
let variability l =
let xbar = avg l in
let odp = (List.map (fun i -> (i -. xbar) ** 2.0) l) in
let sum = List.fold_left (+.) 0. odp in
sum /. (float) (List.length l);;