0
我實現了一個函數,可以計算一個數字列表,並生成列表中有多少個偶數,我使用遞歸實現,但是我需要這次與列表理解。 我曾嘗試使用列表理解,但一旦我執行該函數,它只是掛起,它沒有給我任何東西。這裏是我的代碼:計數偶數haskell與列表理解?
countEven :: (Integral t, Num a) => [t] -> a
countEven [] = 0
countEven (x:xs)
| ev == True = 1 + (countEven xs)
| otherwise = countEven xs
where ev = even x
這是使用列表理解我的嘗試:
evenList :: (Integral t, Num a) => [t] -> a
evenList xs = countEven [x | x <- [1..]]
我沒有在這個網站上搜索它,我只發現與遞歸相同的功能,但沒有與列表理解實現。 – wadbarca 2014-11-03 02:34:37
''[1 ..]'包含無限數量的偶數 - 這就是爲什麼'countEven'掛起的原因。 – ErikR 2014-11-03 02:38:26
你是對的我的壞:(我只是把它找出來我是一個新的Haskell,任何想到要放什麼?我試圖把[1..n],但它不起作用? – wadbarca 2014-11-03 02:40:30