我现在正在做这个功课,但我不知道.有人能帮助我吗?
给出以下用于表示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内容.
我想其他人都错过了这个练习的重点.在解释问题之后,这是我的思考过程; 也许这可以指导你一点.
我想考虑一次一个单独操作HTML_element,所以我想要一个HTML_element -> ???在某些时候具有类型的函数; 弄清楚???可能会是什么将是一个巨大的第一步.第一个刺是选择HTML_element的???,但也并非完全奏效,因为字体标记的内容是HTML,不HTML_element.嗯......又是什么HTML?啊,是的,type HTML = [HTML_element]!所以,实际上,我可以HTML在每种情况下返回一个; 在非字体情况下,我可以将单个元素包装在单例列表中.
嗯,但现在呢?我想知道是否有一个函数可以完成我想要的,因为我已经编写了每元素函数...