Haskellでの四則演算【Haskell, 四則演算, Bool】

単純な四則演算

Haskellでもほかの言語同様、四則演算をサポートしています。ghciと入力して対話型Haskellインタプリタを起動し、以下のコードを入力してみましょう。

ghci> 3+2 -- 5が出力される
ghci> 3-2 -- 1が出力される
ghci> 3*3 -- 9が出力される
ghci> 4.0/2.0 -- 2.0が出力される

それぞれ四則演算の結果が出力されると思います。

ちなみに、これらの四則演算の記号は関数として前方に置くこともできます。 その際には()を使用することを覚えておいてください。

ghci> (+) 3 2 -- 5が出力される
ghci> (/) 4.0 2.0 -- 2.0が出力される

ちなみに、べき乗は^を使用します。

ghci> (^) 3 2 -- 9が出力される

また、負の数を扱うためには積極的にかっこを用いましょう。 以下のように、負の数をかっこで括らない場合はエラーが出る可能性が高いです。

ghci> 2 + -3
ghci> 2 + -3

<interactive>:1:1: error:
    Precedence parsing error
        cannot mix ‘+’ [infixl 6] and prefix `-' [infixl 6] in the same infix expression

上記の演算を成立させるためには、-3(-3)にかっこで括るとよいでしょう。

ghci> 2 + (-3)
-1

このようにすることで、演算の優先順位を明確にすることが出来ます。 (小学校算数を思い出してください。()で括られた計算が最も優先順位が高かったはずです)

ブール値

HaskellにおいてはTrueFalseのようなBool値がサポートされています。 これらをサポートする演算子And(&&)Or(||)です。

ghci> True && False
False
ghci> True && True
True
ghci> True || False
True

値と値を比較する比較演算子Haskellでサポートされていますが、ほとんどほかの言語と同一のものです。

gchi> 1 == 1
True
gchi> 1 < 3
True
gchi> 1 >= 1
True

ただし、「等しくない」を評価する演算子についてはほかの言語とは異なります。

ghci> 2 /= 3
True

これは数学でのノットイコールに該当します。

また、「否定」を行う演算子もほかの言語とは違う可能性があります。

ghci> not True
False