我正在第一次学习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键即可正确缩进当前行。那会马上解释你的语法错误。 –