8
我在Haskell的新手,我有一個問題: 我寫的代碼:Haskell和字符串長度
word_list = ["list", "lol", "wordword"]
check str = if head str == 'l' then tail str else str
average wl = (length $ concat $ map check wl) `div` length wl
這個代碼必須刪除在單詞表中的每一個字第一個「L」標誌,CONCAT收到的話,得到結果字符串的長度和字數的div。
所以在這個代碼我必須收到: 13/3 = 4,333 ...( 「listlolwordword」= 15, 「istolwordword」= 13) 但我只收到4
average :: [[Char]] -> Float
不工作,我收到錯誤。我的錯誤在哪裏? ps。對不起我的英語水平,請
哇。非常感謝你!關於模式匹配: :太神奇了!我喜歡hasskel每天更多:) –
@user:請注意,還有concatMap,所以你不必做'concat $ map'。 –
,我會注意到一個更清晰的方法可能是'sum $ map(length。check)wl'(儘管融合可能使這個不重要) – alternative