我有一个关于操作地图作为全局变量的问题。在我的文件的开头,我有:作为Ocaml中的全局变量的映射
module IntOrd = struct type t = int let compare = (-) end
module IntMap = Map.Make(IntOrd)
然后我想通过let variables = IntMap.empty
声明一个全局变量,然后variables
将在此文件中的一些功能进行修改。例如,在函数let analyze (p: s_program) : unit =
中,我想用p
中的一些值填写variables
。但我不知道该怎么做,因为我似乎无法修改variables
了; IntMap.add : key -> 'a -> 'a t -> 'a t
不会工作,因为它不直接更改值。
我是否必须将此全局变量作为参考?
任何人都可以帮忙吗?非常感谢你
和请不要以为我的答案是邪恶的,只是因为我的名气;) – akoprowski
嗯......你和@ sepp2k都回答我的问题,因为你可能需要这个信用来建立你的声誉......我把你的答案设置为接受的答案:-) – SoftTimur