n+kパターンを試そう
30分プログラム、その701。プログラミングHaskellを読んでたら、Haskellにはn+kパターンってのがあるらしい。
これを使うと
even (n+1) = odd n
みたいにパターンの部分にn+kの形が使えるらしいです。
曰く、不人気で将来のバージョンでは消えるかもしれない、そうです。なので、いまのうちに試しておきましょう。
ソースコード
-- 無意味wwww fact :: Int -> Int fact 0 = 1 fact (n+1) = (n+1) * fact n -- 相互再帰 even :: Int -> Bool odd :: Int -> Bool even 0 = True even (n+1) = Main.odd n odd 0 = False odd (n+1) = Main.even n -- フィボナッチ fib :: Int -> Int fib 0 = 1 fib 1 = 1 fib (n+2) = fib n + fib (n+1)