我无法在 Google 上找到明确的答案,但在 OCaml 中似乎不鼓励使用多行 if 语句(?)我看到的多行 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;;