Моего код:OCaml ошибка выражение Ожидалось типа Int (запутанная ошибки)
let safe_log10 = function x -> if (x <= 0.) then None else Some (log10 x);;
С вводом -1.0
, это дает:
safe_log10 -1.0;;
Error: This expression has type float -> float option
but an expression was expected of type int
Однако, он отлично работает с (-1.0)
:
# safe_log10 (-1.0);;
- : float option = None
Почему это происходит, и как я могу исправить функцию для работы safe_log10 -1.0
? Благодарю.