実世界の Haskell でのモナドに関する章を読む。do 表記の脱糖に出くわしました。特にpattern <- action
.
-- file: ch14/Do.hs
doNotation3 =
do pattern <- act1
act2
{- ... etc. -}
actN
上記の例は、次のように脱糖されます。
-- file: ch14/Do.hs
translated3 =
let f pattern = do act2
{- ... etc. -}
actN
f _ = fail "..."
in act1 >>= f
let 句に 2 つのパターン マッチング ケースを含める方法を理解するのに苦労していますか?
同じ let 句にf pattern
andを含める方法がわかりません。f _
let 節に複数のパターン マッチを含めることができるかどうかを調べてみましたが、私が見た限りでは、ほとんどの人が case ステートメントを使用しています。
ここで実際に何が起こっているのかを理解するのに助けが欲しいですか?