У меня вопрос по поводу манипулирования картой как глобальной переменной. В начале моего файла у меня есть:
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 =
я хочу заполнить variables
некоторыми значениями в p
. Но я не вижу, как это сделать, потому что кажется, что я больше не могу изменять variables
; IntMap.add : key -> 'a -> 'a t -> 'a t
также не будет работать, поскольку не изменяет непосредственно значения.
Нужно ли указывать эту глобальную переменную в качестве ссылки?
Может ли кто-нибудь помочь? Большое спасибо