単純な四則演算
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においてはTrue
とFalse
のような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