我是Ocaml的新手,並且正在編寫代碼來替換嵌套的Ocaml列表中的元素。我的代碼如下:在ocaml嵌套列表中遞歸
type 'a sexp = S of 'a | L of 'a sexp list
我的替代函數(它替換元件的所有出現的b在嵌套列表)如下:
let rec subst a b list = match list with
| [] -> list
| S s :: t -> if s = a then (S b) :: (subst a b t) else (S s) :: (subst a b t)
| L l :: t -> (subst a b l) :: (subst a b t)
儘管多次嘗試(近6小時) ,我一直無法編譯此代碼..請幫助!
嘗試用'代最後一行| L升::噸 - > L(SUBST ABL):: (subst abt)'。 – Shredderroy
@Shredderoy它解決了我的問題,但請給我解釋一下! – user2352241