【发布时间】:2014-12-16 07:52:04
【问题描述】:
我有一个树类型定义为
type 'a tree = Nil | Node of ('a tree * 'a * 'a tree)
我需要在这棵树中建立一个元素列表。我试过(没有尾递归):
let elements t =
let rec walk node =
match node with
| Nil -> []
| Node(lChild, x, rChild) ->
(walk lChild) :: [x] :: (walk rChild)
in
walk set
但我收到一个类型错误:表达式 (walk lChild) 的类型为 'a list,但表达式应为 'a 类型
所以我想我的问题可以简化为“如何将元素列表添加到列表中”。
谢谢!
【问题讨论】: