因此,使用filter函数,我创建了一个基于用户指定条件返回列表的东西。例如,ispos x = x > 0
,您使用我的函数在列表上调用它,它将返回一个列表,但我希望它返回该列表的长度。我该怎么做?
count'filter :: (a -> Bool) -> [a] -> [a]
count'filter p xs = [ x | x <- xs, p x]
使用length :: Foldable f => f a -> Int
:
countfilter :: (a -> Bool) -> [a] ->Int
countfilter p xs =length[ x | x <- xs, p x]
您可以使用filter :: (a -> Bool) -> [a] -> [a]
:来代替列表理解
countfilter :: (a -> Bool) -> [a] ->Int
countfilter p = length .filter p