Haskell - Control.Applicative.Alternative有什么用?

问题描述 投票:29回答:2

我在看 Applicative 类,并偶然发现了Haskell库中的 Alternative.

这个班有什么用?在谷歌上搜索了一下,并没有发现什么特别有见地的东西。而且它似乎完全不合适,因为它是与Applicative包捆绑在一起的。

谁能贴出一个可能使用这个类的场景?

haskell applicative haskell-alternative
2个回答
22
投票

它通常与解析器组合器一起使用。例如,如果 space 是一个匹配单个空格字符的解析器组合器。many space 将是一个能匹配连续空格的。

我可以同意,它是有点不合适的地方在 Control.Applicative不过。


16
投票

有时 <|> 操作员是相当有用的。

foldl1 (<|>) [Nothing, Just 5, Just 3]
-- Just 5
© www.soinside.com 2019 - 2024. All rights reserved.