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
爲什麼會發生這種情況,以及如何修復該功能以便爲工作?謝謝。