在哈斯克尔中连接两个整数



嘿伙计们,我的代码有问题。下面的代码应该删除列表中的前 2 个,然后将它们连接起来。所以结果答案将是 1,2。

first = [1,2,4,5,6,7] !! 0
second = [1,2,4,5,6,7] !! 1
newans = first ++ second

您不能从列表中删除元素:Haskell是声明性的意思,一旦你构造了一个列表aa将始终使用相同的列表。

但是,您可以构造一个没有前两个元素的新列表,并创建一个包含前两个元素的新列表。例如:

get_remove_2 :: [a] -> ([a],[a])
get_remove_2 (a:b:cs) = ([a,b],cs)

因此,我们用[a,b]表达式构造了一个包含前两个元素的新列表。

此函数将获取一个列表[a]作为输入,并返回一个 2 元组,第一个元素是包含两个元素的列表:原始列表的前两个元素,第二个元素是前两个元素不存在的列表。

请注意,仅当给定列表包含至少两个元素时,此函数才有效。否则会出错。

最新更新