if-then-else 语句的语法错误?
Syntax error with if-then-else statement?
我正在 OCaml 中制作算法(应该打印金字塔)。但是,我的 if-then-else 语句 运行 出现了语法错误:第一个 else
触发了语法错误。这可能是我犯的一个愚蠢的错误,但我终究无法解决它。
let rec build_line_pyramid m n (a,b) =
if m >= m/2 then print_string (a) ; build_line_pyramid (m - 1) n (a,b)
else if n = 0 then print_string (b) ; build_line_pyramid m (n - 1) (a,b)
else if m >= 0 then print_string (a) ; build_line_pyramid (m - 1) n (a,b)
else print_newline ()
你应该在你的陈述中加上括号
print_string (a) ; build_line_pyramid (m - 1) n (a,b)
喜欢
( print_string (a) ; build_line_pyramid (m - 1) n (a,b) )
因为你的尾随 ';'优先于您的 'else' 声明。从而关闭您的 if 语句。
我正在 OCaml 中制作算法(应该打印金字塔)。但是,我的 if-then-else 语句 运行 出现了语法错误:第一个 else
触发了语法错误。这可能是我犯的一个愚蠢的错误,但我终究无法解决它。
let rec build_line_pyramid m n (a,b) =
if m >= m/2 then print_string (a) ; build_line_pyramid (m - 1) n (a,b)
else if n = 0 then print_string (b) ; build_line_pyramid m (n - 1) (a,b)
else if m >= 0 then print_string (a) ; build_line_pyramid (m - 1) n (a,b)
else print_newline ()
你应该在你的陈述中加上括号
print_string (a) ; build_line_pyramid (m - 1) n (a,b)
喜欢
( print_string (a) ; build_line_pyramid (m - 1) n (a,b) )
因为你的尾随 ';'优先于您的 'else' 声明。从而关闭您的 if 语句。