我正在尝试编写一个函数,以便它可以找到列表的前两个元素,添加它们,然后将它们放在列表的开头。但是,当我尝试这样做时遇到了意外错误。
单元素列表的第一个函数工作得很好,但实际操作应该发生的第二个函数却不行。我认为这会将 x 从列表中取出,然后使用 head(xs) 取出以下元素,因此列表中的前两个可用,添加它们,然后根据需要将它们放在列表的前面。
当我运行它时,command Plus [4,5,6]
我应该得到 [9,6] 但是我得到这个错误:
Couldn't match expected type `Int' with actual type `[Int]'
In the expression: xs
In the second argument of `(:)', namely `[xs]'
In the expression: (x + head (xs)) : [xs]
Failed, modules loaded: none.
如果有人能给我一些见解,我将不胜感激!