とは(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 のパターンを見つけました。n+k パターンは 2010 年以降削除されているため、このパターンを有効にする方法に関するこの質問も見つけました。