我再次用這個代碼碰到了障礙......我發佈了早先很不同的代碼,所以現在改變了,所以是問題!所以我有一個函數調試一些哈斯克爾函數,警衛
convertToHTML :: String -> String
convertToHTML [] = [] --prevents calling head on empty line
convertToHTML x
| doubleHash x == True = "<h3>" ++ drop 2 x ++ "</h3>"
| head x == '#' = "<h1>" ++ tail x ++ "</h1>"
| x == "---" = "<hr/>"
| otherwise = x
現在,基本上都是正在發生的事情是,這是應該讀取一行,如果該行開頭##拍打着整個線H3標籤幫助我的功能doubleHash x和去除 ##。所以第一個後衛,我相信就是這樣。所以,我認爲doubleHash函數有問題。所以這裏是doubleHash幫助函數
doubleHash ('#' : '#' : []) = True
doubleHash _ = False
所以使用cons,只是說##會返回true。 不知道這裏有什麼問題,但是當convertToHTML被調用來運行doubleHash x時,它不適用doubleHash == True的概念,所以在這一行打了一個H3標記!而是去正確的頭x和H1標籤同時適用於線... 例如:文本
- >#這應該是一個H1標記線
- > ##這應該是一個H3標記的行
然而,兩者都被H1標籤打了一巴掌。