【发布时间】:2014-04-24 23:38:02
【问题描述】:
我做了一个名为 Queue 的自定义数据类型,并尝试将 Integers 排入“列表”末尾。
data Queue = Ele Int Queue | Nil
-- [..] some other Functions
enqueue :: Int -> Queue -> Queue
enqueue x Nil = (Ele x Nil)
enqueue x (Ele _ restEles) = reverse (Ele x reverse restEles)
我得到错误:
“无法匹配预期类型
Queue' with actual type[a0]'”。
我认为是这样,因为该函数不知道如何处理我的数据类型。我在这里吗?我怎样才能解决这个问题?我必须编写自己的反向函数吗?如果你能帮我解决这个问题,因为我还在学习 Haskell 并且不明白这一点:
reverse = foldl (flip (:)) []
【问题讨论】:
标签: haskell functional-programming