1
我的代码的表达: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
为什么会发生这种情况,以及如何修复该功能以便为工作?谢谢。