LambdaCase

基本形

-- 書き換え前
\x -> case x of ...

-- 書き換え後
\case ...

よく見る便利な使い方

用法1

isZero :: Int -> Bool
isZero 0 = True
isZero 1 = False

-- LambdaCase で書いた場合
isZero :: Int -> Bool
isZero = \case
  0 -> True
  1 -> False

用法2

f :: IO ()
f = do
  x <- g
  caee x of
    ...
    
-- LambdaCase で書いた場合
f :: IO ()
f = do
  g >>= \case
    ...

用法3

do
  cmd <- getLine >>= pure . \case
    "run" -> ...
    "delete" -> ...
    "etc" -> ...

参考リソース

Last updated