og_*_*loc 11 haskell sml pattern-matching
在Haskell中,我经常做这样的事情:
f $ \x -> case x of
A a1 a2 -> ...
B b1 b2 -> ...
C c1 c2 -> ...
Run Code Online (Sandbox Code Playgroud)
但我不想要x,我只想解构它.
在标准ML中,我可以这样做:
f (fn A(a1,a2) => ...
| B(b1,b2) => ...
| C(c1,c2) => ...)
Run Code Online (Sandbox Code Playgroud)
有没有办法在Haskell或任何GHC扩展中执行此操作?
Arn*_*non 19
您可以使用LambdaCase语言扩展并执行
{-# LANGUAGE LambdaCase #-}
...
f $ \case
A a1 a2 ->
...
Run Code Online (Sandbox Code Playgroud)
按照你的例子.
| 归档时间: |
|
| 查看次数: |
580 次 |
| 最近记录: |