2007-01-23 ガード。 Haskell main = do print $ guardTest 1 print $ guardTest (-1) guardTest :: Int -> Int guardTest x | x < 0 = 0 | otherwise = x 結果。 1 0 から=までガード(guard) ガードはパターンマッチと同様に仮引数の値によって複数の関数を定義できる。 パターンマッチはこれだけしか検査できないが、ガード(guard)は任意のBool型の式で値を検査することができる。