【发布时间】:2016-03-14 23:28:55
【问题描述】:
假设我想删除列表末尾的所有零:
removeEndingZeros :: (Num a, Eq a) => [a] -> [a]
removeEndingZeros (xs ++ [0]) = removeEndingZeros xs
removeEndingZeros xs = xs
由于参数中的(++) 运算符,这不起作用。如何通过模式匹配确定列表的结尾?
【问题讨论】:
-
如何解决问题,您可以删除前导零吗?如果您不限于使用列表,那么 Data.Sequence 可能有用
标签: haskell pattern-matching pattern-synonyms