Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试编写一个函数来将一个可变int的值增加指定的数量。
int
let increase var:int ref amount = (var := !var+amount;var);;
这是我想出的,但它会产生错误。正确的方法是什么?
您唯一的问题是var. 您需要使用括号:
var
# let increase (var: int ref) amount = var := !var + amount; var;; val increase : int ref -> int -> int ref = <fun>
对于它的价值,类型规范是可选的。OCaml 将推断类型。
(我个人会考虑使用函数 return unit,这将使其类似于内置函数incr。)
unit
incr