用其HTML内容替换字体标记

J.L*_*J.L 0 html haskell

我现在正在做这个功课,但我不知道.有人能帮助我吗?

给出以下用于表示HTML的数据类型:

type HTML = [HTML_element]
data HTML_element = HTML_text String
                  | HTML_font Font_tag HTML
                  | HTML_p HTML
                  | HTML_ul [HTML]
                  | HTML_ol [HTML]

data Font_tag = Font_size Int
              | Font_face String
              | Font_color Font_color

data Font_color = Colour_name String
                | Hex Int
                | RGB Int Int Int
Run Code Online (Sandbox Code Playgroud)

写一个Haskell函数:

strip_font_tags :: HTML -> HTML
Run Code Online (Sandbox Code Playgroud)

删除所有字体标记,将其替换为HTML内容.

Dan*_*ner 5

我想其他人都错过了这个练习的重点.在解释问题之后,这是我的思考过程; 也许这可以指导你一点.

我想考虑一次一个单独操作HTML_element,所以我想要一个HTML_element -> ???在某些时候具有类型的函数; 弄清楚???可能会是什么将是一个巨大的第一步.第一个刺是选择HTML_element???,但也并非完全奏效,因为字体标记的内容是HTML,不HTML_element.嗯......又是什么HTML?啊,是的,type HTML = [HTML_element]!所以,实际上,我可以HTML在每种情况下返回一个; 在非字体情况下,我可以将单个元素包装在单例列表中.

嗯,但现在呢?我想知道是否有一个函数可以完成我想要的,因为我已经编写了每元素函数...