1
我是新來的Haskell和一直在試圖建立一個荏苒功能,與具有以下數據結構樹的工作原理:哈斯克爾:問題荏苒樹
data Tree a = Leaf | Node a (Tree a) (Tree a) deriving Show
到目前爲止,我有這樣的:
treezip :: (Tree a) -> (Tree b) -> (Tree(a,b))
treezip (Node a leftSubtreea rightSubtreea) (Node b leftSubtreeb rightSubtreeb) =
let l = treezip leftSubtreea leftSubtreeb
r = treezip rightSubtreea rightSubtreeb
in Node a l r
但是,無論何時我嘗試將模塊加載到GHCi中,我都會收到錯誤,指向代碼的最後一行,並且特別注意變量a
。
我一直在試圖弄清楚爲什麼這不起作用。任何幫助,將不勝感激
提示:節點在壓縮後應該存儲的值應該是多少? –
「節點」應該在壓縮後存儲「內部」值。 –
@ J.Doe「Int」從哪裏來? 'treezip'需要存儲任意數據的兩棵樹,並生成一個包含*元組數據*的樹。如果我有一個Tree Char值和一個Tree Bool值,我必須產生一個Tree(Char,Bool)值。那麼,'treezip(Node'c'Leaf Leaf)(Node'True'Leaf Leaf)'應該返回什麼? – chepner