我是Haskell的新手,我试图写一个函数来替换数组的第一个和最后一个元素。当我在GHCI中编写代码时,它工作得很好,但在VS Code中,它给出了一个错误,说“解析错误”。我猜“让”不是我想象的那样。下面是函数:
swap1 :: [x] -> [x]
swap1 [] = error "empty list"
swap1 [x] = error "one element list"
swap1 let a = head x
swap1 let b = last x
swap1 let y = init x
swap1 let z = tail y
swap1 = b:z ++ [a]
1条答案
按热度按时间euoag5mw1#
你写的东西大部分都是废话:
例如,缺少
let in
的in <expr>
部分(有一个没有in …
的特殊变体,但它只对do
块有效,并作为裸ghci命令行上的扩展),而且x
在该子句中没有定义,所有以前的定义要么是一个类型,这在这里没有意义,要么是一个单独的项目,这与head
组合也没有意义。从你的代码中,我猜你打算写下面的函数: