访问没有参数的函数的参数

时间:2016-09-07 03:55:12

标签: haskell

我是Haskell的新手。我有一个函数:

readData = (map read) . words

我需要匹配某些约束并相应地返回数据。有什么方法可以做到这一点。感谢。

1 个答案:

答案 0 :(得分:2)

我将假设,这似乎很可能,此函数接受一个字符串,将其拆分为单词,然后将它们解析为整数,并且您需要将这些整数限制在2到10,000之间。

所以你可以在你已经生产的清单上打一个支票。但是,要做到这一点,您需要更改为显式参数,以便您可以讨论它们。

readData input = map read (words input)

现在我们可以过滤它了

readData input = filter (\n -> n >= 2 && n <= 10000) $ map read (words input)

因此,任何超出范围的号码都会从列表中删除。

最好记住,虽然无点样式(不使用显式参数)可能非常好,但通常不可能用它来表达更复杂的逻辑。我倾向于从编写带参数的函数开始,然后在我意识到可以的情况下将它们取出,并且如果生成的代码看起来更容易理解。

相关问题