n+k パターン [Haskell]
Haskell には n+k パターンというのがあって、パターンマッチのパターンの部分に n+2
みたいな形式をおけるらしい。
こんなコードを試してみた。
f (n+2) = "match: " ++ (show n)
f _ = "unmatch"
main = do
putStrLn (f 3)
putStrLn (f 2)
putStrLn (f 1)
putStrLn (f 0)
そうするとこうなる。
match: 1 match: 0 unmatch unmatch
つまり n+2
というパターンは 2 以上の値にマッチして n はそこから 2 を引いた値に束縛される、ということだ。へ~。
ただ、へ~と思っただけで、要るか?と言われたら特に要らない気もします。
コメント 0