Mon code:erreur OCaml une expression était attendue de type int (erreur de confusion)
let safe_log10 = function x -> if (x <= 0.) then None else Some (log10 x);;
Avec entrée -1.0
, cela donne:
safe_log10 -1.0;;
Error: This expression has type float -> float option
but an expression was expected of type int
Cependant, il fonctionne très bien avec (-1.0)
:
# safe_log10 (-1.0);;
- : float option = None
Pourquoi est-ce que cela se produit, et comment puis-je réparer la fonction pour safe_log10 -1.0
? Merci.