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