1

阅读关于现实世界 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 语句来做到这一点。

我需要一些帮助来了解这里实际发生了什么?

4

1 回答 1

3
于 2016-09-21T11:19:19.187 回答