如何实现满足特定规则的两个可选值合并逻辑?
如何实现满足特定规则的两个可选值合并逻辑?
我最近经常碰到这么个需求:要对两个可选值做「合并」操作,具体规则是这样的:
- 如果两个值都是
None→ 返回None - 如果只有其中一个是
Some→ 返回这个Some包裹的值 - 如果两个都是
Some→ 执行一个(T, T) -> T类型的函数,返回这个函数执行结果的Some包裹值
这种需求其实挺实用的,比如你想从两个可选值里保留最大或最小的那个,或者合并两份都只填了部分字段的配置时,都能用到这个逻辑。
内容来源于stack exchange
相关产品推荐
相关产品推荐

