,我有以下构建在我的代码:简化嵌套也许模式匹配
f :: Maybe A -> X
f a = case a of
Nothing -> x
(Just b) -> case b of
Nothing -> y
(Just c) -> case c of
Nothing -> z
(Just d) -> d
,我没有看到一个明显的方式来简化,而不是使用嵌套maybe
功能这一点,这不会使整个事情看起来好多了。有没有什么聪明的,但仍然可以理解的技巧可以使这种构造更“优雅”?
你需要一个更好的结构问题,然后嵌套'Maybe' – Ankur
这似乎有些奇怪哟你不在乎b和c的价值,只是他们是否有价值。这使得他们有效的布尔。 Maybes层是任意深度还是固定深度? – itsbruce
你的模型基本上是错误的。你需要链接(即映射)函数/函子,而不是做这种强制性的风格。 – itsbruce