【发布时间】:2014-01-15 14:44:25
【问题描述】:
我正在尝试编写一行 Haskell 来计算列表中位于两个规定的上限和下限之间的项目数,例如countBetween 3 6 [5, 9, 2, 4, 6, 3, 1, 4] = 5 因为 5、4、6、3 和 4 介于边界 3 和 6 之间。
到目前为止我有:
countBetween x1 x2 = filter (>=x1) . filter (<=x2)
过滤列表以仅包含在这些范围内的数字,但我不知道如何计算该列表拥有多少项目。我最初的想法是它会使用foldr?
【问题讨论】:
-
length函数? -
在这种情况下如何使用?
-
countBetween x1 x2 = length . filter (>=x1) . filter (<= x2) -
谢谢!我已经使用
countBetween x1 x2 = length (filter (>=x1) . filter (<= x2))很多年了,但它一直没有用,没想到要使用点!干杯
标签: list haskell higher-order-functions