【发布时间】:2020-06-20 10:34:25
【问题描述】:
我正在研究这种编程语言“Ocaml”,我遇到了一些麻烦,因为我阅读了官方的 ocaml 文档,但我不了解如何使用:
";"和 ”;;”和“in”特别是在函数的定义中。
这是我的代码:
let abs_val value : int -> int =
let abs_ret = ref 0 ;
if value >= 0
then abs_ret := value
else abs_ret := -value ;
let return : int = abs_ret
;;
print_int abs_val -12
用“ocamlc”编译它说:
File "first_program.ml", line 7, characters 2-4:
7 | ;;
^^
Error: Syntax error
这对我来说听起来很奇怪,因为官方 ocaml 的文档说当函数定义结束时我必须使用“;;”。
我注意到在abs_valVisualStudio Code的定义之后,当我换行时,光标会自动放在右边的2个空格处,而不是在行首。
我是 ocaml 的新手,所以我不知道这是否常见,但对我来说听起来好像缺少什么,可能是:)
附: : 我知道一个 abs 函数已经存在,但我这样做是为了学习。
更新:
let abs_val value =
let abs_ret = ref 0 in
if value >= 0
then abs_ret := value
else abs_ret := -value in
let return : int = abs_ret;
;;
print_int abs_val -12
我离得更近了吗?
【问题讨论】:
标签: ocaml