我開始學習OCaml語言。你能告訴我爲什麼這段代碼顯示錯誤嗎?OCaml:爲什麼我得到這個錯誤?
let unite x =
if x < 100 then x mod 10
else if x >= 100 then x mod 100;;
let dizaine x =
if x < 100 then x/10
else if x >= 10 then unite(x/10);;
let centaine x =
if x >= 100 then x/100;;
let somme_chiffre x =
if x >= 100 then unite x + dizaine x + centaine x
else if x > 9 then unite x + dizaine x
else unite x;;
let div3 x = if ((somme_chiffre x) mod 3) = 0 then 1 else 0;;
print_int(div3 32);;
print_string("\n");;
的錯誤是:文件 「./test.ml」,第3行,字符24-33: 錯誤:此表達式具有int類型但預期類型 單元
提示:我爲Reason項目提出了一個問題,試圖改善這個錯誤,因爲坦率地說,這種情況的錯誤信息是絕對可怕的。如果錯誤得到改善,它會首先觸發Reason/BuckleScript,但是希望整個錯誤改進項目最終會被OCaml正確地應用。無論如何,請參閱https://github.com/reasonml-community/error-message-improvement/issues/30 – glennsl