在Haskell中,filter
函數(shù)接受一個謂詞函數(shù)和一個列表作為參數(shù),并返回一個只包含謂詞函數(shù)返回True的元素的新列表。
例如,假設(shè)我們有一個謂詞函數(shù)isEven
來判斷一個數(shù)字是否為偶數(shù):
isEven :: Int -> Bool
isEven n = n `mod` 2 == 0
我們可以使用filter
函數(shù)來過濾一個列表中的偶數(shù):
numbers = [1, 2, 3, 4, 5, 6]
filteredNumbers = filter isEven numbers
-- filteredNumbers現(xiàn)在為[2, 4, 6]
在上面的例子中,filter isEven numbers
會返回一個只包含偶數(shù)的新列表[2, 4, 6]
。filter
函數(shù)會對列表中的每個元素應(yīng)用謂詞函數(shù),只保留返回True的元素。