-1

我整天都在这个问题上迷失了。所以,我有一个这样的递归函数:

let rec rewriteTree tree =
      rewriteElement tree c;
      List.iter rewriteTree tree.subtree in
    rewriteTree myTree

函数rewriteElement返回 unit (),所以我对函数rewriteTree没有问题。但是,我对代码进行了更改,函数rewriteElement现在返回一个布尔值,我需要它返回一个布尔值列表,其中包含树的所有节点的所有布尔值。最好的方法是什么?我尝试过使用 List.map,但编译器会抛出该函数返回(布尔列表列表)。谢谢。

4

1 回答 1

3

尝试这个:

let rec rewriteTree tree =
  rewriteElement tree c ::
    List.concat (List.map rewriteTree tree.subtree) in
rewriteTree myTree
于 2013-05-25T10:17:06.057 回答