在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的元素。