可能重复:
Return a list of Integer values that is not within a range of numbers in an existing list:
我希望采取以下措施:
[Vacant, Engaged, Vacant, Vacant, Engaged, Vacant, Vacant, Vacant, Vacant]
并从上面的列表中返回仅Vacant
值的列表。
(即[Vacant, Vacant, Vacant, Vacant, Vacant, Vacant, Vacant]
)。
是否有任何预定义的haskell函数来执行此操作?
(n.b。Vacant
和Engaged
是数据类型)
答案 0 :(得分:3)
它被称为filter
:
filter (== Vacant)
或者,使用列表理解:
[x | x <- lst, x == Vacant]
(在这种情况下稍微长一点,但在其他情况下更方便。)