【发布时间】:2016-04-30 21:16:49
【问题描述】:
我需要一些帮助来解决 Haskell 中的函数组合任务。我需要编写一个函数,给定一个整数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。有人可以帮我吗?:)
【问题讨论】:
-
不确定我是否理解这个问题。您必须将整数 n(猜猜这是您的代码中的 a 吗?)给组合函数之一。
-
这就是现在所做的,我需要从定义中删除
a。 -
如果你正在学习,不要试图写一个无点函数。编写一个带参数的普通函数,让它工作,然后将其转换为无点样式。
-
旁注:您给出示例:
select 2 [[2,3,4],[5,6],[9,9,9]] = [3,6,9],这意味着列表的第一个元素位于索引 1。这在 Haskell(和大多数编程语言)中是非标准的——通常是列表从 0 开始索引。对我来说,这将是预期的行为:select 1 [[2,3,4],[5,6],[9,9,9]] = [3,6,9]。
标签: function haskell composition