在Haskell中,filter
函数接受一个谓词函数和一个列表作为参数,并返回一个只包含谓词函数返回True的元素的新列表。
例如,假设我们有一个谓词函数isEven
来判断一个数字是否为偶数:
isEven :: Int -> Bool
isEven n = n `mod` 2 == 0
我们可以使用filter
函数来过滤一个列表中的偶数:
numbers = [1, 2, 3, 4, 5, 6]
filteredNumbers = filter isEven numbers
-- filteredNumbers现在为[2, 4, 6]
在上面的例子中,filter isEven numbers
会返回一个只包含偶数的新列表[2, 4, 6]
。filter
函数会对列表中的每个元素应用谓词函数,只保留返回True的元素。