1
替换我想要做一个搜索,并在树取代,寻找一个子树,并用另一个替换它:搜索和树
type Tree =
| A of string
| B of int
| C of List<Tree>
let rec replace search repl subject =
if subject = search then
repl
else
match subject with
| C l -> C (l |> List.map (replace search repl))
| _ -> subject
是否有更简单的方法或更通用的方法来做到这一点,类似的转换(例如包含)?它似乎非常适合fmap(Haskell),但我无法使它工作。
你应该看看[拉链](http://tomasp.net/blog/tree-zipper-query.aspx/) – Carsten 2015-02-09 17:47:59