f# - 有没有更简洁的方法来处理 F# 中的双可空类型?
问题描述
我有这两行:
if not start.IsNone && not stop.IsNone then
let times = TimeArray start.Value stop.Value interval
有没有更清洁的方法来做到这一点?如果是单个值,我可以使用匹配,但是 2 个值呢?(这里是 F# 第 3 天..)
解决方案
您仍然可以使用模式匹配。考虑一下这个毫无意义的示例,它可以帮助您理解整体模式。
let start = Some 1
let stop = Some 2
let res =
match start, stop with
| Some _a, Some _b -> (_a,_b)
| _, _ -> (0, 0)
推荐阅读
- python - 在没有警告的情况下替换和填充列
- angular - 检查特定文本的 iframe 内容
- c - GCC 是否推断函数的返回语句?
- python - TypeError:“str”对象不支持迭代中的项目分配
- racket - 定义一个函数来表示 Church 数字中的整数 (DrRacket)
- reactjs - NextJS 动态路由在第一次加载时工作,但在刷新时失败
- javascript - 在 iframe 中动态显示网页
- arrays - 使用 .map 和 .filter 过滤现有数组以创建新的过滤数组
- python-3.x - 保护对象内的数据
- javascript - 如何防止未分配的变量显示未定义?