Edited at

【Haskell】case式

More than 3 years have passed since last update.

Haskellのcase ofは式であるため、値と同じように扱うことができます。

let var = 100

str = case var of
100 -> "Hundred"
_ -> "Otherwise"

ifと同じく、式の生成する値の型は一致させなければなりません。例えば、以下のコードはエラーとなります。

let var = 100

str = case var of
100 -> 100 -- 戻り値の型は Num a => a
_ -> "Otherwise" -- 戻り値の型は String