溫馨提示×

Haskell中filter函數(shù)是怎么工作的

小億
91
2024-04-16 15:58:06
欄目: 編程語言

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

0