Googleで明確な答えを見つけることができませんでしたが、OCamlでは複数行のifステートメントが推奨されていないようです(?)複数行で表示されるものには、begin end
キーワードが含まれているようです。
現在、このエラーはnum = (num - temp) / 10
25 ~ 27 文字目の行で発生していますError: Parse error: "end" expected after [sequence] (in [expr])
。すべてを削除すると、同じ行でbegin end
エラーが発生します。Error: This expression has type bool but an expression was expected of type int
let rec reverse_int num =
if num / 10 == 0 then begin
num
end else begin
let temp = num mod 10 in
num = (num - temp) / 10
let numDigits = string_of_int num
temp * (10 * String.length(numDigits)) + reverse_int num
end;;