Haskell如何优雅解包元组内的Maybe值?寻求Idiomatic方案
问题:处理Map的updateLookupWithKey结果时避免不完整模式匹配警告
我需要一个签名为(Maybe a, b) -> (a, b)的函数,但在Hoogle中查询不到对应实现,于是自己写了一个:
import Data.Maybe (fromJust) fromJustTuple :: (Maybe a, b) -> (a, b) fromJustTuple (a, b) = (fromJust a, b)
我的使用场景是:在Map上调用updateLookupWithKey,且能保证目标键必然存在。原本可以直接写:
let (Just x, myMap') = updateLookupWithKey f k myMap
但这样会触发incomplete-uni-patterns警告,我不想通过禁用警告来解决。
这可能是一个XY问题,希望能了解更符合Haskell风格的替代方案。
内容的提问来源于stack exchange,提问作者thisisrandy
相关产品推荐
相关产品推荐

