例如,我在模块中调用一个函数以生成唯一的标签。
MyMod.gensym
定义为
let gensym : string -> string =
let c = ref 0 in
fun s -> incr c; Printf.sprintf "!%s%d" s (!c)
但是,我希望能够在某些时候从使用该基因符号的函数中获得可再现的结果,例如
let reproducible = SomeMod.call x
可能第一次返回["!a1"; "!a2"]
,第二次返回["!a3"; ...]
在这种情况下,如何确保输出可重复(例如,强制ref从相同的值开始?)>]
我在模块中调用函数以生成唯一标签,例如。 MyMod.gensym定义为let gensym:string-> string = let c = ref 0 in s-> incr c; Printf.sprintf“!%s%d” s(!c)但是,...
您可以添加可选参数以将其重置: