ガードで条件

ifで条件判断ができますが、もっと簡単条件判断ができます。
それが、ガード節です。

bigbig x
        | x < 10 = putStr "small\n"
        | x == 10 = putStr "equal\n"
        |otherwise = putStr "big!!\n"

インデントをして書かれている「|」のあとに、条件式をかき、そして、そのとき適用する関数を定義してあげます。このとき、条件式のインデントはそろえる必要があります。深さが違うと、ネストされていると判断されてしまいます。インデント重要。

最後の条件式でている「otherwise」は、その他という意味をあらわし、他の条件に当てはまらなかったときの関数を定義します。

この関数の実行は、このようになります。

 *Main> bigbig 1
 small
 *Main> bigbig 10
 equal
 *Main> bigbig 11
 big!!