我需要一些帮助来解决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
。任何人都可以帮我这个吗?:)
答案 0 :(得分:3)
根据您目前的情况,您可以使用git branch
,也可以将其简化为B
。另一种方法是使用select = map . ((head . reverse) .) . take
。
您可以使用pointfree
包自动派生无点的函数版本。
一般来说,我会建议不要这样做。具有多个参数的函数在以无点样式定义时会变得非常模糊。