所以我写代码是为了进行某个循环,但在运行时出现了错误,不明白为什么。。。有人能解释一下这里出了什么问题吗。
for k = 0 to 10 do
for i = 0 to 10 do (let a = ref 0 ; a := !a + k*i mod 17) done ;
!a ;
done ;;
这里是错误信息:
# for k = 0 to 10 do
Line 4, characters 57-58:
4 | for i = 0 to 10 do (let a = ref 0 ; a := !a + k*i mod 17); done ;
^
Error: Syntax error: operator expected.
当然这不是一个很有启发性的错误消息。然而,你的问题是你有let
而没有加工in
。除了在模块的最外层,每个let
都必须与in
匹配。
您可以将let a = ref 0 ;
更改为let a = ref 0 in
,并且应该更进一步。
这里还有一些其他问题,但我认为这是你的直接问题。