1
私はこの単純なデータツリーがあります。ハスケル - 木の種類の折り機能を作成
data Tree = Leaf Int | Node [Tree]
をそして私はこのタイプの折り機能をdevellopする必要があります。例えば
foldTree :: (Int -> a) -> ([a] -> a) -> Tree -> a
:
をfoldTree (+1) sum (Node[ (Leaf 2), (Leaf 3)])
は(2 + 1)+(3 + 1)= 7を返します。 リーフの場合:
foldTree f g (Leaf n) = (f n)
しかし、私はノードのケースを開発するためのアイデアはありません。
私はフランス人でもあり、間違いの申し訳ありません。
ヒント: ''ツリー 'のリストから' a'のリストをどのように取得しますか? –