非手続き型言語の試験の準備をしています。テストタスクの例があり、それを解決する方法がわかりません。
タスクは次のとおりです。
2 つのツリー構造が与えられた場合:
data Tree a = Nil1 | Node1 a [Tree a]
data NumTree a = Nil2 | Node2 (a,Int) [NumTree a]
書き込み機能
numberTree :: Num a => Tree a -> NumTree a
予約注文で番号が付けNumTree a
られます。
これを試しましたが、続行する方法がわかりません。
numberTree tree = numberTree' tree 1
numberTree' :: Num a => Tree a -> Int -> NumTree a
numberTree' Nil1 _ = Nil2
numberTree' (Node1 num list) x = (Node2 (num,x) (myMap x numberTree list))
ツリーと累積された予約注文番号を返す必要があるため、このようなものを書く方法myMap
はわかりませんが、これを行う方法がわかりません。
どんな提案でも大歓迎です。