Ocaml 更改对象的属性

Ocaml 更改对象的属性,ocaml,Ocaml,我有一个表示树的类型: type 'a tree = | Null | Node of 'a * 'a tree * 'a tree * 'a tree ref;; 我的目标是编写一个函数'a tree->unit,它接受tree并以这样的方式对它进行更改,每个节点都有一个中缀顺序的下一个节点的引用(最后一个节点指向Null) 如何更改给定的树而不返回它?以下是一个使树节点指向自身的函数: let circulate tn = match tn with

我有一个表示树的类型:

type 'a tree =
    | Null
    | Node of 'a * 'a tree * 'a tree * 'a tree ref;; 
我的目标是编写一个函数
'a tree->unit
,它接受tree并以这样的方式对它进行更改,每个节点都有一个中缀顺序的下一个节点的引用(最后一个节点指向Null)


如何更改给定的树而不返回它?

以下是一个使树节点指向自身的函数:

 let circulate tn =
     match tn with
     | Null -> ()
     | Node (_, _, _, tr) -> tr := tn

请不要这样做,如果你试图编写像Java一样的ocaml,这不是我的想法——这是我在计算机科学课程中的作业