作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的代码包含相当多的双选项类型;到目前为止,我一直非常成功地使用 Option.map 函数来消除必须在所有地方匹配 Some 和 None 并将它们视为提升类型的需要,但我不确定在以下情况下该怎么做:
let multiplyTwoOptions option1 option2 : double option =
if not (option1.IsSome && option2.IsSome) then None
else Some (option1.Value * option2.Value)
最佳答案
模式可以嵌套,这就是它们的强大之处。在这种特殊情况下,您可以对元组进行模式匹配:
match option1, option2 with
| Some x, Some y -> Some (x * y)
| _ -> None
关于f# - 如何在 F# 中将两个(双选项)相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39082719/
我是一名优秀的程序员,十分优秀!