这个问题在这里已经有了答案:
What are Alternative's "some" and "many" useful for?
(5 个回答)
3年前关闭。
什么是some
和 many
在 Control.Applicative.Alternative
适合吗?如果我写类似 some $ Just 42
,好像会造成无限递归,好像不是很有用……
最佳答案
当用作解析器组合器时,它们是有意义的。some
意味着解析器被尽可能多地应用,但至少一次。many
类似,但也不允许解析,return
学习 []
在这种情况下,而不是失败。
如果是 Maybe
, Just ...
永远不会“失败”,因此您的解析器 some $ Just 42
循环。
关于Haskell:一些和很多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5841511/