rust - 展开选项并返回错误的最简单方法(如果没有)(无论如何)
问题描述
我正在使用Anyhow并且有一个返回的函数anyhow::Result
。在该函数中,我想“解包”一个选项,以便如果选项值为None
,则返回带有特定错误消息的错误。这就是我所做的:
let o: Option<i32> = ...;
let v: i32 = o.ok_or_else(|| anyhow!("Oh, boy!"))?;
// here I need v only
我已经使用ok_or_else()
而不是ok_or()
出于性能原因。
我通常对此很好,但想知道这是否是做我想做的最简单(最简洁)的方法(不牺牲性能)?
解决方案
推荐阅读
- jmeter - 指向文件位置的 JSR223 脚本引发错误
- javascript - 为什么在javascript中解构数组比对象慢?
- c# - 作为服务原理运行时,Pulumi 无法访问刚刚创建的密钥库
- python - 单元测试的问题
- python - 如何将 spm12 Matlab 代码转换为 python?
- python - Plotly - 使用带有滑块的固定 Mesh3d 动画 Scatter3d
- python - 使用一些默认参数在Python中查找字符串中给定字符的索引
- android - 通过添加到媒体商店,使外部文件可用于 Android 11 中的任何应用
- react-native - undefined 不是对象(数据)
- r - R将NA值转换为字符以进行字符串比较