ガードで条件
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!!