Haskell init
时间: 2023-11-04 08:04:28 浏览: 241
`init` 是 Haskell 的一个标准函数,它接受一个列表作为参数,并返回除了最后一个元素之外的所有元素。换句话说,它用于获取列表的前缀,去除了最后一个元素。
以下是 `init` 函数的定义:
```haskell
init :: [a] -> [a]
init [] = error "empty list"
init [x] = []
init (x:xs) = x : init xs
```
这里使用了模式匹配来处理不同情况。当传入的列表为空时,会抛出一个错误。当列表只有一个元素时,返回一个空列表。对于其他情况,我们递归地将列表的头部元素 `x` 与剩余部分 `xs` 进行拼接,并继续处理剩余部分。
例如,`init [1, 2, 3, 4, 5]` 的结果是 `[1, 2, 3, 4]`。
阅读全文