我正在第一次學習OCaml,而且我遇到了一個非常模糊的「語法錯誤」,有點麻煩。 當定義函數generateboxes
像這樣:OCaml「else」語法錯誤
let rec generateboxes a b =
if a = (add1 b) then (force_newline()); (print_sting "Done!")
else if [1] = (Array.get finalarray a) then (populatebox
(numbertoposition a) a); (generateboxes (add1 a) b)
else (generateboxes (add1 a) b);;
的編譯提供錯誤消息:「語法錯誤」,並指向第一個else
。我的代碼有什麼明顯的錯誤來輸出這樣的消息嗎? (我意識到代碼不在上下文中,但如果它的語法錯誤,那麼它應該沒關係)。
我建議你把每個不超過一個「東西」並使用執行自動縮進的文本編輯器。具有caml模式,tuareg模式或typerex的Emacs非常適合這一點。您只需按一次Tab鍵即可正確縮進當前行。那會馬上解釋你的語法錯誤。 –