是什么(n+1)
意思?我知道两者都是递归 Haskell 函数并且正在使用模式匹配。
我不明白它将如何进行模式匹配factorial (n+1)
以及.(n+1)
factorial =
和drop
功能为什么会这样drop 0 xs = xs
?那么drop (n+1) [] = []
呢?
--Example 1
factorial 0 = 1
factorial (n+1) = (n+1) * factorial n
--Example 2
drop :: Int -> [a] -> [a]
drop 0 xs = xs
drop (n+1) [] = []
drop (n+1) (_:xs) = drop n xs
顺便说一句,我在编译时遇到错误。
- 代码编译失败
- 模式中的解析错误:n + 1
更新:感谢您指出正确的术语。我发现了这个n+k 模式。由于自 2010 年以来已删除 n+k 模式,我还发现了这个关于如何启用此模式的问题。