阅读关于现实世界 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 子句中有两个模式匹配案例?
我不明白你怎么能在同一个 let 子句中拥有f pattern
和。f _
我尝试查找是否可以在 let 子句中有多个模式匹配,但据我所见,大多数人使用 case 语句来做到这一点。
我需要一些帮助来了解这里实际发生了什么?