gpt4 book ai didi

haskell - lambda 绑定(bind)中的模式匹配?

转载 作者:行者123 更新时间:2023-12-02 09:31:00 24 4
gpt4 key购买 nike

在 Haskell 中,我经常做这样的事情:

f $ \x -> case x of
A a1 a2 -> ...
B b1 b2 -> ...
C c1 c2 -> ...

但我不想要x,我只是想解构它。

在标准机器学习中我可以做这样的事情:

f (fn A(a1,a2) => ...
| B(b1,b2) => ...
| C(c1,c2) => ...)

有没有办法在 Haskell 或任何 GHC 扩展中做到这一点?

最佳答案

您可以使用 LambdaCase 语言扩展并执行

{-# LANGUAGE LambdaCase #-}
...
f $ \case
A a1 a2 ->
...

按照你的例子。

您可以阅读更多相关信息in GHC's documentation

关于haskell - lambda 绑定(bind)中的模式匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28682750/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com