這個問題在這里已經有了答案: OCaml "else" 語法錯誤 (1 個回答) 7 天前關閉。
我正在 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 ()
uj5u.com熱心網友回復:
你應該把你的陳述括起來
print_string (a) ; build_line_pyramid (m - 1) n (a,b)
喜歡
( print_string (a) ; build_line_pyramid (m - 1) n (a,b) )
因為你的尾隨 ';' 優先于您的“else”陳述句。從而關閉您的 if 陳述句。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/316366.html
