我遇到了ocaml的麻烦。
我想创建一个函数,每次调用它时都会增加我的计数器,并将我的 vargen 字符串与计数器编号连接起来并返回这个新字符串。
我没有成功的做法是:
let (counter : int ref) = ref 0;;
let (vargen : string) = "_t";;
let tmp = incr counter;ref (vargen ^ string_of_int !counter);;
Printf.printf "%s\n" !tmp;;
Printf.printf "%s\n" !tmp;;
Printf.printf "%s\n" !tmp;;
Printf.printf "%s\n" !tmp;;
但我的输出总是:
_t1
_t1
_t1
_t1
我的输出应该是:
_t0
_t1
_t2
_t3
有什么想法可以解决我的问题吗?
谢谢大家。