我知道tail函数返回列表的最后n-1个元素(其中n是列表的长度),所以我定义了自己的“cotail”函数来返回前n-1个元素: / p>
cotail = (reverse . tail . reverse)
这是最好的方法,还是有内置功能或更聪明的方法来实现这一目标?
答案 0 :(得分:7)
正如其他人所说,init
是您正在寻找的。但是这里是你如何回答表格的问题"是否有一个Haskell功能来做X?"总的来说:
答案 1 :(得分:5)
我相信你正在寻找init。
答案 2 :(得分:1)
按照建议使用init
。但是你需要确定你用空列表做什么。
cotail xs = [x | x:_:_ <- tails xs]
此版本的cotail
在空列表上不会失败,例如drop 1
在空列表上不会失败(而tail
会失败)
答案 3 :(得分:0)
init函数,它完全符合您的需要。