haskell,功能组合

时间:2016-01-24 15:45:12

标签: function haskell composition

我需要一些帮助来解决Haskell中关于函数组合的任务。我需要编写一个给出Integer n的函数和一个内部元素列表的列表,返回每个内部列表中n-th元素的列表。所以它会像: select 2 [[2,3,4],[5,6],[9,9,9]] = [3,6,9]。问题是,我需要使用函数组合来编写它,因此它应该看起来像select = ...。换句话说,我想让这个无点

目前,我有以下内容:

select::Int->[[Int]]->[Int]
select a = map $ head. reverse. take a 

我坚持使用它,我不知道如何从第一个和唯一的条款中删除a。任何人都可以帮我这个吗?:)

1 个答案:

答案 0 :(得分:3)

根据您目前的情况,您可以使用git branch,也可以将其简化为B。另一种方法是使用select = map . ((head . reverse) .) . take

您可以使用pointfree包自动派生无点的函数版本。

一般来说,我会建议不要这样做。具有多个参数的函数在以无点样式定义时会变得非常模糊。